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

Accès aux données Discussion :

ajout donne dans sqlserver2005


Sujet :

Accès aux données

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Février 2008
    Messages
    30
    Détails du profil
    Informations forums :
    Inscription : Février 2008
    Messages : 30
    Par défaut ajout donne dans sqlserver2005
    Bonjour,

    je suis débutante dans l'asp.net et sql server 2005 et j'ai un problème avec une méthode qui va vérifier si le client existe dans la base de donnée.

    Voici le 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
     
        private int Nb_client()
        {
            int nb = 0;
     
            try
            {
     
                String requete1 = "select count(*) into nb from st_test_table WHERE nom='" + TextNom.Text + "' AND prenom='" + TextPrenom.Text + ";";
     
                nbrec = new SqlCommand(requete1, myConnexion);
     
     
                nbrec.Connection.Open();
                nbrec.ExecuteNonQuery();
     
     
     
            }
            catch (System.Exception ex)
            {
                Console.WriteLine(ex.Message);
                LabErrorMsg.Text= " - Une erreur s'est produite - ";
     
            }
     
            return nb;
     
        }
    Le problème est que même si mon client existe, la valeur de nb reste toujours à 0.

    Quelqu'un peut m'aider ?

    merci d'avance

  2. #2
    Membre chevronné
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    360
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Janvier 2007
    Messages : 360
    Par défaut
    tu devrais utiliser ExecuteScalar() à la place de ExecuteNonQuery() pour récupérer les valeurs d'agrégats.

    ex :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    nbrec.Connection.Open();
    nombre=nbrec.ExecuteNonQuery();

  3. #3
    Membre averti
    Inscrit en
    Février 2008
    Messages
    30
    Détails du profil
    Informations forums :
    Inscription : Février 2008
    Messages : 30
    Par défaut
    J'ai essayé avec le ExecuteScalar() en faisant comme celà :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
     
      nbrec.Connection.Open();
      nb = (int)nbrec.ExecuteScalar();
    mais mon nb reste toujours à 0.

  4. #4
    Membre confirmé
    Homme Profil pro
    Inscrit en
    Février 2008
    Messages
    70
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : Suisse

    Informations forums :
    Inscription : Février 2008
    Messages : 70
    Par défaut
    A mon avis ton erreur viens dans ta requête. En gros, j'ai l'impression que tu fais un compte mais que tu ne lui crée pas un champ spécifique.

    Essaie ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    String requete1 = "select count(*) AS nb from st_test_table WHERE nom='" + TextNom.Text + "' AND prenom='" + TextPrenom.Text + ";";
    Je ne sais pas si ça peut marcher.

    Bonne chance !!

  5. #5
    Membre chevronné
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    360
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Janvier 2007
    Messages : 360
    Par défaut
    est tu sur que ta requete est correcte ? tu l'a affichée et testée directement dans SQLserver?

  6. #6
    Membre confirmé
    Homme Profil pro
    Inscrit en
    Février 2008
    Messages
    70
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : Suisse

    Informations forums :
    Inscription : Février 2008
    Messages : 70
    Par défaut
    Ouais je l'ai testée. le seul changement que j'ai fait qui est peu être plus malin pour moi est qu'au lieu de faire un compte en fonction de tous les champs, je le fais en fonction de l'id, ce qui revient au même et qui est peut-être même mieux finalement...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    select count(ID) AS nb from st_test_table WHERE nom='" + TextNom.Text + "' AND prenom='" + TextPrenom.Text + ";";
    Après, plus qu'à reprendre la "nouvelle" colonne temporaire "nb" et faire le test pour savoir si le compte est > 0.


  7. #7
    Membre chevronné
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    360
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Janvier 2007
    Messages : 360
    Par défaut
    question bête mais tu es sur qu'aucune exceptions n'est levée? du coup ca te prendrais toujours la valeur 0?

  8. #8
    Membre confirmé
    Homme Profil pro
    Inscrit en
    Février 2008
    Messages
    70
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : Suisse

    Informations forums :
    Inscription : Février 2008
    Messages : 70
    Par défaut
    Dans quel langage programmes-tu ???

    VB ?? C# ?

  9. #9
    Membre averti
    Inscrit en
    Février 2008
    Messages
    30
    Détails du profil
    Informations forums :
    Inscription : Février 2008
    Messages : 30
    Par défaut
    J'ai essayé ta solution keks06 mais malheureusement j'ai toujours le même problème, mon nb reste toujours à 0.

    J'ai bien testé avant la requête dans sql server et elle marche très bien, donc je ne comprend vraiment pas pourquoi une fois dans le code ça ne marche plus.

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

Discussions similaires

  1. Ajout données dans Zone de liste modifiable
    Par emilie31 dans le forum Access
    Réponses: 2
    Dernier message: 08/01/2007, 16h18
  2. [MySQL] problème ajout donnée dans BDD via php
    Par Skeud007 dans le forum PHP & Base de données
    Réponses: 7
    Dernier message: 29/05/2006, 23h41
  3. ajout donnée dans formulaire
    Par gregius dans le forum Access
    Réponses: 2
    Dernier message: 09/01/2006, 11h12
  4. Réponses: 2
    Dernier message: 04/12/2005, 20h07
  5. Ajouter données dans un champ (concat)
    Par TNorth dans le forum Requêtes
    Réponses: 6
    Dernier message: 09/05/2005, 21h38

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