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

ASP.NET Discussion :

message d'erreur sur requete


Sujet :

ASP.NET

  1. #1
    Membre confirmé
    Inscrit en
    Avril 2007
    Messages
    65
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 65
    Par défaut message d'erreur sur requete
    bonjour a tous, je ss entrain de faire un truc d'insertion,mais j'aurrai besoin de tester si le champs existe deja dans la base, alors je fais le trucs mais rien ne se passe coorecte bon voila mon code

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    //methode d'ajout d'enseigant
            public void AjoutEns(TextBox t1,TextBox t2,TextBox t3, TextBox t4, DropDownList liste, TextBox t5, TextBox t6, TextBox t7,SqlConnection connect)
            {
                String complet = t2.Text.ToString() + " " + t1.Text.ToString();
                String requete = "INSERT INTO[Enseigant](nom_ens,pre_ens,nommage_ens,cin_ens,adresse_ens,dep_ens,mail_ens,login_ens,pass_ens,id_dep)";
                requete += "VALUES('"+t1.Text+"','"+t2.Text+"','"+t3.Text+"','"+t4.Text+ "','"+liste.SelectedItem+"','" +t5.Text+ "','"+t6.Text+"','"+t7.Text+"','"+liste.SelectedValue+"')";
                SqlCommand command = new SqlCommand(requete, connect);
                // On appelle la méthode ExecuteNonQuery pour éxécuter notre commande
                command.ExecuteNonQuery();
                // Fermeture de la connexion
                connect.Close();
            }
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    //methode de verification d'existance
            public int VerfiereExistance(TextBox t1, SqlConnection connect)
            {
                int total;
                string requete = "SELECT COUNT(id_ens) FROM enseigant WHERE login_ens='"+t1.Text+"'";
                SqlCommand command = new SqlCommand(requete, connect);
                total = (int)command.ExecuteScalar();
                if (total == 0)
                    return 0;
                return 1;
            }
    tout ça c'est dans une classe nommé enseigant, mnt si je clique sur le bouton ajouter, je fait appel a mes methodes :

    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
     
    if (ens.VerfiereExistance(tlog,connexion) == 1)
            {
                resultat.Text = "Login d'enseignant '" + tlog.Text + "' Existe déjà dans la BD !!";
            }
            else
            {
                try
                {
                    ens.AjoutEns(tnom,tpre,tcin,tadre,listedep,tmail,tlog,tpass,connexion);
                }
                catch (Exception ex1)
                {
                    resultat.Text = "exception : " + ex1.Message;
                }
                resultat.Text = "Ajout de l'enseignant '" + tlog.Text + "' avec succée dans la BD";
           }
    mais , le probleme qu'il me genere une erreur si je clique sur le bouton ajouter,
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    Détails de l'exception: System.Data.SqlClient.SqlException: Invalid object name 'enseigant'.
    merci,pour votre aide.

  2. #2
    Membre chevronné
    Inscrit en
    Juin 2007
    Messages
    459
    Détails du profil
    Informations forums :
    Inscription : Juin 2007
    Messages : 459
    Par défaut
    Tu fais cette insertion :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    String requete = "INSERT INTO[Enseigant](nom_ens,pre_ens,nommage_ens,cin_ens,adresse_ens,dep_ens,mail_ens,login_ens,pass_ens,id_dep)"
    Le nom de la table n'est-il pas plutôt Enseignant ?

  3. #3
    Membre confirmé
    Inscrit en
    Avril 2007
    Messages
    65
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 65
    Par défaut
    oui le nom de ma table est enseigant, alors je vois pas vraiment l'erreur, et merci bien de la montrée.

  4. #4
    Membre émérite
    Inscrit en
    Août 2006
    Messages
    550
    Détails du profil
    Informations personnelles :
    Âge : 50

    Informations forums :
    Inscription : Août 2006
    Messages : 550
    Par défaut
    Peut être un problème de nom de table, d'après le message d'exception ...

    Ne serait-ce pas plutôt la table 'enseignant' et non 'enseigant' ?

    Enseignant <> Enseigant

    Edit :
    Oup ! Même idée que BCmDev

  5. #5
    Membre confirmé
    Inscrit en
    Avril 2007
    Messages
    65
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 65
    Par défaut
    oui c'est ça, le nom de ma table est avec 'e' majuscule, alors je le met deja correcte dans le code, mais le probleme m'indique que le nom de la table est un correcte, et donc le test pour compter le nombre de ligne ne passe pas, alors j'ai penser a faire ça !
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    public int VerfiereExistance(TextBox t1,string table , SqlConnection connect)
            {
                int total;
                string requete = "SELECT COUNT(*) FROM "+table+" WHERE login_ens='" + t1.Text + "'";
                SqlCommand command = new SqlCommand(requete, connect);
                total = (int)command.ExecuteScalar();
                if (total == 0)
                    return 0;
                return 1;
            }
    et faire l'appel on ajoutant le nom de la table comme parametre :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    if (ens.VerfiereExistance(tlog,"Enseigant",connexion) == 1)
            {
                resultat.Text = "Login d'enseignant '" + tlog.Text + "' Existe déjà dans la BD !!";
            }
    mais en realité tjrs, le meme probleme.
    merci bien pour votre aide

  6. #6
    Membre confirmé
    Inscrit en
    Avril 2007
    Messages
    65
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 65
    Par défaut
    merci frere,ça marche vos reponses m'ont bien guidées vers la reponse.
    c'est bien resolus.

    you are

  7. #7
    Membre émérite
    Inscrit en
    Août 2006
    Messages
    550
    Détails du profil
    Informations personnelles :
    Âge : 50

    Informations forums :
    Inscription : Août 2006
    Messages : 550
    Par défaut
    Le E majuscule n'a rien a voir

    Je pense que ton problème vient du nom de ta table et tu n'as peut-être pas bien vu la faute que tu as faite sur le nom de la table.

    Il y a un 'n' entre le 'g' et le 'a' de enseignant en français.
    Dans ta base de données y-a-t-il un 'n' entre le 'g' et le 'a' ? Cela expliquerait ton erreur ...

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

Discussions similaires

  1. Message d'erreur sur curseur, option de requete ont changé
    Par max057 dans le forum Bases de données
    Réponses: 6
    Dernier message: 06/07/2007, 17h01
  2. message d'erreur sur requete INSERT
    Par captainamerica75 dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 03/05/2007, 13h21
  3. message d'erreur sur test module
    Par Daniel MOREAU dans le forum Access
    Réponses: 5
    Dernier message: 23/11/2005, 20h19
  4. message d'erreurs sur copie de fichier
    Par screeminelle dans le forum C++
    Réponses: 9
    Dernier message: 01/11/2005, 14h21
  5. [CR10] Pquoi absence du message d'erreur sur les Nulls ?
    Par speed034 dans le forum SAP Crystal Reports
    Réponses: 2
    Dernier message: 30/11/2004, 15h30

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