IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

C# Discussion :

probleme execution requete


Sujet :

C#

  1. #1
    Membre habitué
    Profil pro
    Inscrit en
    Janvier 2011
    Messages
    338
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2011
    Messages : 338
    Points : 192
    Points
    192
    Par défaut probleme execution requete
    Bonjour
    J'ai un soucis mais je ne sais pas a quoi c'est du.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    try
                {
                    // Chaine de connexion
                    string connectString = "database='" + bdd + "'; server= '" + server + "';User ID='" + utilisateur + "'; pwd='" + pwd + "'";
                    // Objet connection
                    SqlConnection connection = new SqlConnection(connectString);
                    connection.Open();// Ouverture
     
                    recherche = "select A.nom_serveur_alerte, P.categorie_probleme, P.probleme_probleme, A.OS_ALERTE from probleme P inner join obs_link_slx O on P.ID_PROBLEME = O.ID_POBLEME inner join alerte A on A.description_alerte = O.description_alerte";
                    SqlCommand command = new SqlCommand(recherche, connection);
                    // Objet DataReader
                    SqlDataReader reader = command.ExecuteReader();
     
                    while (reader.Read())
                    {
                        nom_serveur = reader["nom_serveur_alerte"].ToString();
                        categorie = reader["categorie_probleme"].ToString();
                        probleme = reader["probleme_probleme"].ToString();
                        os = reader["os_alerte"].ToString();
     
                        objet_demande = "Surveillance Serveur : "+ nom_serveur +" Probleme "+ categorie +" | " + probleme + " | " + os;
     
     
                      //Insertion dans la table demande
                        requete_demande = "insert into demande(domaine_demande, categorie_demande, probleme_demande, id_client, refexterne, libelle_demande)select P.domaine_probleme, P.categorie_probleme, P.probleme_probleme, A.id_client, A.uid_alerte, A.information_alerte from alerte A inner join obs_link_slx O on  A.description_alerte = O.description_alerte inner join probleme P on P.ID_PROBLEME = O.ID_POBLEME where A.alerte_247 = 2";
                        Console.WriteLine("requete : " + requete_demande); 
                        SqlCommand insert_demande = new SqlCommand(requete_demande, connection);
                        insert_demande.ExecuteNonQuery();
                        insert_demande.Dispose();
    J'ai testé la requete elle fonctionne tres bien
    mais pour tant quand on arrive à
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    insert_demande.ExecuteNonQuery();
    on se retrouve dans le catch

    Merci de m'aider

  2. #2
    Membre habitué
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    206
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2007
    Messages : 206
    Points : 196
    Points
    196
    Par défaut
    Salut,

    Peut tu mettre le code de ton catch également, et une copie du message d'erreur que tu as, parce que sinon, pas facile de deviner l'erreur que tu rencontre.


  3. #3
    Membre habitué
    Profil pro
    Inscrit en
    Janvier 2011
    Messages
    338
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2011
    Messages : 338
    Points : 192
    Points
    192
    Par défaut
    sa vient du reader le probleme Il faut que je trouve un autre moyen de faire sans boucle

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    private void insertdemande(string requete_demande_complement, string recherche, string requete_demande, string bdd, string server, string utilisateur, string pwd, string nom_serveur, string categorie, string probleme, string objet_demande, string os )
            {            
                try
                {
                    // Chaine de connexion
                    string connectString = "database='" + bdd + "'; server= '" + server + "';User ID='" + utilisateur + "'; pwd='" + pwd + "'";
                    // Objet connection
                    SqlConnection connection = new SqlConnection(connectString);
                    connection.Open();// Ouverture
     
                    recherche = "select A.nom_serveur_alerte, P.categorie_probleme, P.probleme_probleme, A.OS_ALERTE from probleme P inner join obs_link_slx O on P.ID_PROBLEME = O.ID_POBLEME inner join alerte A on A.description_alerte = O.description_alerte";
                    SqlCommand insert_recherche = new SqlCommand(recherche, connection);
                    Console.WriteLine(recherche);
                    insert_recherche.ExecuteNonQuery();
                    insert_recherche.Dispose();
     
                    while (insert_recherche.Equals(""))
                    {
                        nom_serveur = insert_recherche["nom_serveur_alerte"].ToString();
                        categorie = insert_recherche["categorie_probleme"].ToString();
                        probleme = insert_recherche["probleme_probleme"].ToString();
                        os = insert_recherche["os_alerte"].ToString();
     
                        objet_demande = "Surveillance Serveur : "+ nom_serveur +" Probleme "+ categorie +" | " + probleme + " | " + os;
     
     
                      //Insertion dans la table demande
                        requete_demande = "insert into demande(domaine_demande, categorie_demande, probleme_demande, id_client, refexterne, libelle_demande)select P.domaine_probleme, P.categorie_probleme, P.probleme_probleme, A.id_client, A.uid_alerte, A.information_alerte from alerte A inner join obs_link_slx O on  A.description_alerte = O.description_alerte inner join probleme P on P.ID_PROBLEME = O.ID_POBLEME where A.alerte_247 = 2";
                        Console.WriteLine("requete : " + requete_demande); 
                        SqlCommand insert_demande = new SqlCommand(requete_demande, connection);
                        insert_demande.ExecuteNonQuery();
                        insert_demande.Dispose();
     
                        //complement
                    requete_demande_complement = "insert into demande(source_demande, objet_demande)value(surveillance/supervision,"+ objet_demande +") where refexterne =(select uid_alerte from alerte)";
                    SqlCommand insert_demande_complement = new SqlCommand(requete_demande_complement, connection);
                    Console.WriteLine(requete_demande_complement);
                    insert_demande_complement.ExecuteNonQuery();
                    insert_demande_complement.Dispose();
     
                    connection.Close();
                    }
     
     
                }
                catch (Exception ex)
                {
     
                    Console.WriteLine(ex.Message);
     
                    text = text + "Il n'y a pas u d'insertion dans la table demande";
                }
            }

  4. #4
    Membre habitué
    Profil pro
    Inscrit en
    Janvier 2011
    Messages
    338
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2011
    Messages : 338
    Points : 192
    Points
    192
    Par défaut
    excuse moi je vien de m'apercevoir que j'ai deja modifier le while par
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    while (insert_recherche.Equals(""))
    maintenant j'ai un pb sur
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     nom_serveur = insert_recherche["nom_serveur_alerte"].ToString();
    categorie = insert_recherche["categorie_probleme"].ToString();
    probleme = insert_recherche["probleme_probleme"].ToString();
    os = insert_recherche["os_alerte"].ToString();
    Message d'erreur :
    Erreur 3 Impossible d'appliquer l'indexation à l'aide de [] à une expression de type 'System.Data.SqlClient.SqlCommand' C:\Documents and Settings\sylo\Bureau\document\Observeur\AlerteServeur\GetInfoTibco\AlerteServeur.cs 483 35 AlerteServeur

  5. #5
    Membre habitué
    Profil pro
    Inscrit en
    Janvier 2011
    Messages
    338
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2011
    Messages : 338
    Points : 192
    Points
    192
    Par défaut
    J'ai preque réussi a adapter mon code celon l'erreur mais il m'en reste toujours une et je ne sais pas encore la contourner
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
     try
                {
                    // Chaine de connexion
                    string connectString = "database='" + bdd + "'; server= '" + server + "';User ID='" + utilisateur + "'; pwd='" + pwd + "'";
                    // Objet connection
                    SqlConnection connection = new SqlConnection(connectString);
                    connection.Open();// Ouverture
     
                    //Insertion dans la table demande
                    requete_demande = "insert into demande(domaine_demande, categorie_demande, probleme_demande, id_client, refexterne, libelle_demande)select P.domaine_probleme, P.categorie_probleme, P.probleme_probleme, A.id_client, A.uid_alerte, A.information_alerte from alerte A inner join obs_link_slx O on  A.description_alerte = O.description_alerte inner join probleme P on P.ID_PROBLEME = O.ID_POBLEME where A.alerte_247 = 2 and A.uid_alerte not in (select D.refexterne from demande D)";
                    Console.WriteLine("requete : " + requete_demande);
                    SqlCommand insert_demande = new SqlCommand(requete_demande, connection);
                    insert_demande.ExecuteNonQuery();
                    insert_demande.Dispose();
     
                    recherche = "select A.nom_serveur_alerte, P.categorie_probleme, P.probleme_probleme, A.OS_ALERTE from probleme P inner join obs_link_slx O on P.ID_PROBLEME = O.ID_POBLEME inner join alerte A on A.description_alerte = O.description_alerte";
                    SqlCommand command = new SqlCommand(recherche, connection);
                    // Objet DataReader
                    SqlDataReader reader = command.ExecuteReader();
     
                    while (reader.Read())
                    {
                        nom_serveur = reader["nom_serveur_alerte"].ToString();
                        categorie = reader["categorie_probleme"].ToString();
                        probleme = reader["probleme_probleme"].ToString();
                        os = reader["os_alerte"].ToString();
     
                        objet_demande = "Surveillance Serveur : "+ nom_serveur +" Probleme "+ categorie +" | " + probleme + " | " + os;
     
                        //complement
                    requete_demande_complement = "insert into demande(source_demande, objet_demande)value(surveillance/supervision,"+ objet_demande +") where refexterne =(select uid_alerte from alerte)";
                    SqlCommand insert_demande_complement = new SqlCommand(requete_demande_complement, connection);
                    Console.WriteLine(requete_demande_complement);
                    insert_demande_complement.ExecuteNonQuery();
                    insert_demande_complement.Dispose();
     
                    connection.Close();
                    }
     
     
                }
                catch (Exception ex)
                {

  6. #6
    Membre habitué
    Profil pro
    Inscrit en
    Janvier 2011
    Messages
    338
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2011
    Messages : 338
    Points : 192
    Points
    192
    Par défaut
    Voila le nouveau code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    try
                {
                    // Chaine de connexion
                    string connectString = "database='" + bdd + "'; server= '" + server + "';User ID='" + utilisateur + "'; pwd='" + pwd + "'";
                    // Objet connection
                    SqlConnection connection = new SqlConnection(connectString);
                    connection.Open();// Ouverture
     
                    //Insertion dans la table demande
                    requete_demande = "insert into demande(domaine_demande, categorie_demande, probleme_demande, id_client, refexterne, libelle_demande, source_demande)select P.domaine_probleme, P.categorie_probleme, P.probleme_probleme, A.id_client, A.uid_alerte, A.information_alerte, 'surveillance/supervision' as source_demande from alerte A inner join obs_link_slx O on  A.description_alerte = O.description_alerte inner join probleme P on P.ID_PROBLEME = O.ID_POBLEME where A.alerte_247 = 2 and A.uid_alerte not in (select D.refexterne from demande D)";
                    Console.WriteLine("requete : " + requete_demande);
                    SqlCommand insert_demande = new SqlCommand(requete_demande, connection);
                    insert_demande.ExecuteNonQuery();
                    insert_demande.Dispose();
     
                    recherche = "select A.nom_serveur_alerte, P.categorie_probleme, P.probleme_probleme, A.OS_ALERTE from probleme P inner join obs_link_slx O on P.ID_PROBLEME = O.ID_POBLEME inner join alerte A on A.description_alerte = O.description_alerte";
                    SqlCommand command = new SqlCommand(recherche, connection);
                    // Objet DataReader
                    SqlDataReader reader = command.ExecuteReader();
     
                    while (reader.Read())
                    {
                        nom_serveur = reader["nom_serveur_alerte"].ToString();
                        categorie = reader["categorie_probleme"].ToString();
                        probleme = reader["probleme_probleme"].ToString();
                        os = reader["os_alerte"].ToString();
     
                        objet_demande = "Surveillance Serveur : "+ nom_serveur +" Probleme "+ categorie +" | " + probleme + " | " + os;
     
                        //complement
                        requete_demande_complement = "update demande set objet_demande = '"+objet_demande +"' where refexterne in (select uid_alerte from alerte)";
                    SqlCommand insert_demande_complement = new SqlCommand(requete_demande_complement, connection);
                    Console.WriteLine(requete_demande_complement);
                    insert_demande_complement.ExecuteNonQuery();
                    insert_demande_complement.Dispose();
     
                    connection.Close();
                    }
     
     
                }
                catch (Exception ex)
                {
     
                    Console.WriteLine(ex.Message);
     
                    text = text + "Il n'y a pas u d'insertion dans la table demande";
                }
    Il faut que je trouve une solution pour ne pas executer une requete dans un reader

  7. #7
    Membre habitué
    Profil pro
    Inscrit en
    Janvier 2011
    Messages
    338
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2011
    Messages : 338
    Points : 192
    Points
    192
    Par défaut
    Donc la j'ai juste racourci le code mais je sais toujours pas comment faire marcher mon insert vue que j'ai dejà une requete qui s'execute avant
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    try
                {
                    // Chaine de connexion
                    string connectString = "database='" + bdd + "'; server= '" + server + "';User ID='" + utilisateur + "'; pwd='" + pwd + "'";
                    // Objet connection
                    SqlConnection connection = new SqlConnection(connectString);
                    connection.Open();// Ouverture
     
                    recherche = "select A.nom_serveur_alerte, P.categorie_probleme, P.probleme_probleme, A.OS_ALERTE from probleme P inner join obs_link_slx O on P.ID_PROBLEME = O.ID_POBLEME inner join alerte A on A.description_alerte = O.description_alerte";
                    SqlCommand command = new SqlCommand(recherche, connection);
                    // Objet DataReader
                    SqlDataReader reader = command.ExecuteReader();
     
                    while (reader.Read())
                    {
                        nom_serveur = reader["nom_serveur_alerte"].ToString();
                        categorie = reader["categorie_probleme"].ToString();
                        probleme = reader["probleme_probleme"].ToString();
                        os = reader["os_alerte"].ToString();
     
                        objet_demande = "Surveillance Serveur : " + nom_serveur + " Probleme " + categorie + " | " + probleme + " | " + os; 
     
                        //insertion dans la table demande
                        requete_demande_complement = "insert into demande(domaine_demande, categorie_demande, probleme_demande, id_client, refexterne, libelle_demande, source_demande, objet_demande )select P.domaine_probleme, P.categorie_probleme, P.probleme_probleme, A.id_client, A.uid_alerte, A.information_alerte, 'surveillance/supervision' as source_demande, '" + objet_demande + "' as objet_demande from alerte A inner join obs_link_slx O on  A.description_alerte = O.description_alerte inner join probleme P on P.ID_PROBLEME = O.ID_POBLEME where A.alerte_247 = 2 and A.uid_alerte not in (select D.refexterne from demande D)";
                        Console.WriteLine(requete_demande_complement);
                        SqlCommand insert_demande_complement = new SqlCommand(requete_demande_complement, connection);
     
                        insert_demande_complement.ExecuteNonQuery();
                        insert_demande_complement.Dispose();
     
     
                    }
                connection.Close();
     
                }
                catch (Exception ex)
                {
     
                    Console.WriteLine(ex.Message);
     
                    text = text + "Il n'y a pas u d'insertion dans la table demande";
                }

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. probleme execution requete
    Par lesafir dans le forum MS SQL Server
    Réponses: 5
    Dernier message: 15/06/2007, 16h04
  2. probleme execution requete
    Par lesafir dans le forum ASP.NET
    Réponses: 3
    Dernier message: 15/06/2007, 11h29
  3. [débutant]probleme execution requete INSERT
    Par melodie53 dans le forum JDBC
    Réponses: 2
    Dernier message: 03/08/2006, 16h45
  4. [MySQL] Problème exécution requête
    Par snaxisnake dans le forum PHP & Base de données
    Réponses: 8
    Dernier message: 08/05/2006, 16h00
  5. [VB.net] Probleme execution requete
    Par nico10gbb dans le forum Windows Forms
    Réponses: 2
    Dernier message: 13/04/2006, 11h13

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo