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

Services Web Discussion :

HTTP 500 - Erreur interne du serveur


Sujet :

Services Web

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Mars 2009
    Messages
    16
    Détails du profil
    Informations forums :
    Inscription : Mars 2009
    Messages : 16
    Par défaut HTTP 500 - Erreur interne du serveur
    ce code fonctionne a merveille,
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    OleDbDataReader dr1;
                    OleDbCommand cmd1 = new OleDbCommand("SELECT count(*) FROM requette", connection);
                    n=(int) cmd1.ExecuteScalar();
     
                    connection.Close();
                }
     
            }
            return  n.ToString();
    mais celui là, provoque l'erreur "HTTP 500 - Erreur interne du serveur "

    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
     
    OleDbDataReader dr1;
                    OleDbCommand cmd1 = new OleDbCommand("SELECT count(*) FROM requette", connection);
                    n=(int) cmd1.ExecuteScalar();
                    cmd1.Dispose();
                    int[]tab= new int[n]; 
     
                    OleDbCommand cmd = new OleDbCommand("SELECT id_req FROM requette", connection);
                    dr1 = cmd.ExecuteReader();
                     if (dr1.Read())
                    {
                    for(int i=0; i<n;i++)
                  {
                      tab[i] = dr1.GetInt32(i);
                  }
              }
               c = tab[0].ToString() + tab[1].ToString();
               dr1.Close();
                    connection.Close();
                }
     
            }
            return  n.ToString();
    pouvez vous m'aider a corrigé ce code merci d'avance

  2. #2
    Membre éclairé
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    55
    Détails du profil
    Informations personnelles :
    Localisation : France, Somme (Picardie)

    Informations forums :
    Inscription : Avril 2009
    Messages : 55
    Par défaut
    Peux-tu nous envoyer le message d'erreur qui va avec le code 500 ?
    Ca peut être utile pour trouver l'erreur.

    Mais sinon, je dirai que l'erreur vient de la manière dont tu utilise ton DataReader :
    • dr1.Read() permet de lire les lignes retournées une par une,
    • dr1.GetInt32(i) permet de lire la valeur sur la colonne i de la ligne courante


    Etant donné que tu cherche à récupérer la valeur de la colonne 1 pour chaque ligne, tu devrai plutot faire :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    for (int i = 0; i < n; i++)
    {
        dr1.Read()
        tab[i] = dr1.GetInt32(0);
    }
    Et tant qu'on y est, pourquoi ne pas utilise une collection plutôt qu'un tableau ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    OleDbDataReader dr1;
    List<int> tab = new List<int>(); // on déclare et instancie la liste d'entier
     
    OleDbCommand cmd = new OleDbCommand("SELECT id_req FROM requette", connection);
    dr1 = cmd.ExecuteReader();
     
    while (dr1.Read()) // tant que l'on peut lire une nouvelle ligne dans le résultat
    {
        tab.Add(dr1.GetInt32(0)); // on ajoute la première valeur de ma ligne à la liste
    }
    dr1.Close();
    return tab.Count.ToString(); // on renvoi le nombre de ligne récupérée
    Avec le code ci-dessus, on fait une requête de moins sur la base.

    Cdt,
    Kevin D.

  3. #3
    Membre averti
    Inscrit en
    Mars 2009
    Messages
    16
    Détails du profil
    Informations forums :
    Inscription : Mars 2009
    Messages : 16
    Par défaut
    merci, mon code est plus pratique, propre est pro comme ça, mais que'est ce que je doit faire avec cet erreur?

    "The type or namespace name 'List' could not be found (are you missing a using directive or an assembly reference?)"

    merci

  4. #4
    Membre éclairé
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    55
    Détails du profil
    Informations personnelles :
    Localisation : France, Somme (Picardie)

    Informations forums :
    Inscription : Avril 2009
    Messages : 55
    Par défaut
    En haut de ton fichier de code, avec les autres using, ajoute :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    using System.Collections.Generic;
    Cdt,
    Kevin D.

  5. #5
    Membre averti
    Inscrit en
    Mars 2009
    Messages
    16
    Détails du profil
    Informations forums :
    Inscription : Mars 2009
    Messages : 16
    Par défaut
    c'est bon ca marche
    dsl pour le retard, j'ai du bossé sur autre chose

  6. #6
    Membre averti
    Inscrit en
    Mars 2009
    Messages
    16
    Détails du profil
    Informations forums :
    Inscription : Mars 2009
    Messages : 16
    Par défaut
    voilà mon code, mais ca fonctionne pas, y a quelque chose qui cloche au niveau de la 2eme requette


    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
     
    [WebMethod]
        public tableau[] synchro()
        {
           tableau[] t = null;
            OleDbConnection connection = new OleDbConnection(con);
            try
            {
                connection.Open();
            }
            catch
            {
               // return "Impossible de se connecté a la base de donnée!";
            }
            finally
            {
                using (connection)
                {
     
                 OleDbDataReader dr1;
                 OleDbDataReader dr;
                    List<int> tab = new List<int>(); // on déclare et instancie la liste d'entier
                    OleDbCommand cmd = new OleDbCommand("SELECT id_req FROM requette", connection);
                    dr1 = cmd.ExecuteReader();
     
                    while (dr1.Read()) // tant que l'on peut lire une nouvelle ligne dans le résultat
                    {
                        tab.Add(dr1.GetInt32(0)); // on ajoute la première valeur de ma ligne à la liste
                    }
                    dr1.Close();
                    t = new tableau[tab.Count];
                   for (int i=0; i< tab.Count; i++)
                        {
     
                       OleDbCommand cmd1 = new OleDbCommand("SELECT * FROM requette WHERE ( id_req = '" + tab[i] + "')", connection);
                      dr = cmd1.ExecuteReader();
                      t[i].num_serie =dr.GetInt32(1) ;
                      t[i].tache = dr.GetInt32(3);
                      t[i].remarque = dr.GetString(4); 
                     dr.Close();
                   }
     
                    connection.Close();
                }
     
            }
            return t;
        }
    j'utilise access comme Base de donnée,


Discussions similaires

  1. [Wamp] HTTP 500 Erreur interne au serveur - include
    Par grandjeanluc dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 2
    Dernier message: 06/05/2009, 19h58
  2. Réponses: 1
    Dernier message: 22/09/2008, 12h18
  3. HTTP 500 - Erreur interne de serveur
    Par VIRGINIE87 dans le forum ASP
    Réponses: 7
    Dernier message: 16/04/2008, 09h53
  4. Problème apache : http 500 erreur interne au serveur
    Par marvelromy dans le forum Apache
    Réponses: 4
    Dernier message: 08/01/2008, 12h38
  5. HTTP 500 erreur interne au serveur !
    Par melendil dans le forum Serveurs (Apache, IIS,...)
    Réponses: 3
    Dernier message: 04/12/2006, 19h49

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