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

VB.NET Discussion :

probleme d'insertion du résultat d'une requête dans un tableau


Sujet :

VB.NET

  1. #1
    Membre habitué
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mars 2007
    Messages
    310
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Burkina Faso

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Mars 2007
    Messages : 310
    Points : 133
    Points
    133
    Par défaut probleme d'insertion du résultat d'une requête dans un tableau
    Bonsoir à tous!
    J'ai un probleme qui me bloque dans l'anancement de mon projet .
    J'utilise une base de donnée sql server 2005;dans l'une de mes tables je veut faire une comparaison entre la clé primaire et une valeur que je recupere d'un TextBox.Mais j'ai du mal a comparer toutes les valeurs de la clé primaire avec la valeure recupérée.Le langage utilisé est VB.net (je suis un debutant)
    J'ai ceci dans mon code

    'je defini ma requete

    Dim queryString2 As String = "SELECT [reservation].[Num_id] FROM [reservation]"
    Dim dbCommand2 As System.Data.IDbCommand = New System.Data.SqlClient.SqlCommand
    dbCommand2.CommandText = queryString2
    dbCommand2.Connection = dbConnection2
    dbConnection2.Open 'ouverture de la connexion
    Dim dataReader As System.Data.IDataReader = dbCommand2.ExecuteReader(System.Data.CommandBehavior.CloseConnection)

    while
    (dataReader.Read)
    'je teste s'il y'a un enregistrement
    if(TextBox1.Text=dataReader.Item(0)) then
    'j effectue la comparaison
    MsgBox(" Le numéro existe !Veuillez reprendre ")
    Else
    MsgBox(" Le numéro existe pas !Veuillez reprendre ")
    End if
    End while

  2. #2
    Expert éminent sénior Avatar de Pol63
    Homme Profil pro
    .NET / SQL SERVER
    Inscrit en
    Avril 2007
    Messages
    14 154
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : .NET / SQL SERVER

    Informations forums :
    Inscription : Avril 2007
    Messages : 14 154
    Points : 25 072
    Points
    25 072
    Par défaut
    ouh là l'ami je t'arrete tout de suite
    sql serveur fera ca des 100aines de fois plus vite que toi

    SELECT * FROM matable WHERE cléprimaire = '" & textbox.text & "'"

    ensuite tu tests s'il y recordcount>0 ca veut dire que ta valeur existe deja


    (sql serveur est intelligent il ne va pas regarder sur toutes les lignes si la valeur existe
    il va en regarder quelques unes meme parmis des centaines et savoir si la tienne existe
    de quelques centaines à quelques unes le temps passé est vraiment différent)


    par contre j'ai pas encore utilisé de base de donnée depuis que j'ai migré sur .NET donc je peux pas trop t'aider sur le reste
    Cours complets, tutos et autres FAQ ici : C# - VB.NET

  3. #3
    Rédacteur
    Avatar de JauB
    Homme Profil pro
    Freelancer
    Inscrit en
    Octobre 2005
    Messages
    1 792
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : Maroc

    Informations professionnelles :
    Activité : Freelancer
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2005
    Messages : 1 792
    Points : 2 914
    Points
    2 914
    Par défaut
    oui comme l'a dit sperot51 tu peux directment passer le contenu de ton TextBox en paramètre à ta requête et SQL SERVER s'occupera du reste.
    mais je veux juste ajouter que si ta clé est de type varchar ou...ou autre chose que du numérique alors tu dois à priori faire un replace sur le texte du TextBox ( remplcaer les ' par un double '')pour que ça ne te lève pas une exception. et puis n'oublie pas de mettre ton bout de code dans un bloc TRY CATCH pour capter les exception et éventuellment avertir l'utilisateur de l'application d'éventuelles erreurs. enfin n'oublie pas de mettre ton code dans des balises c'est en haut à droite.

    exemple:
    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
    TRY
     
    Dim queryString2 As String = "SELECT [reservation].[Num_id] FROM [reservation] WHERE taClé = Replace ( TextBox1.text, "'", "''") "
    Dim dbCommand2 As System.Data.IDbCommand = New System.Data.SqlClient.SqlCommand
    dbCommand2.CommandText = queryString2
    dbCommand2.Connection = dbConnection2
    dbConnection2.Open 'ouverture de la connexion
    Dim myDataSet as New DataSet
    Dim myDataAdapter as new DataAdapter
     
    myDataAdapter.SelectCommand =  dbCommand2
    myDataAdapter.Fill(myDataSet)
     
    if myDataSet.Tables(0).Rows.Count = 0 Then
    msgbox("Elément inexistant")
    else
    msgbox("Elément existant")
    end if
    
    CATCH ex  as exception
     
    MSGBOX(es.Message)
    END TRY
    
    N.B: j'ai pas testé le code que je t'ai cité mais c'est abordable.

    encore là pour t'assiter
    Mes articles, Mon Blog

    Rubrique Jasper/iReport :
    ------- Forum Jasper --------
    ----- FAQ Jasper/iReport -----


Discussions similaires

  1. [MySQL] récupérer le résultat d'une requête dans un tableau
    Par faty2 dans le forum PHP & Base de données
    Réponses: 1
    Dernier message: 19/05/2007, 16h22
  2. Réponses: 2
    Dernier message: 27/03/2007, 01h19
  3. [MySQL] Résultat d'une requête dans un tableau
    Par olivier94 dans le forum PHP & Base de données
    Réponses: 10
    Dernier message: 22/03/2007, 21h03
  4. [MySQL] Afficher le résultat d'une requête dans un tableau
    Par magobouli dans le forum PHP & Base de données
    Réponses: 5
    Dernier message: 26/02/2007, 14h41
  5. Réponses: 12
    Dernier message: 09/01/2007, 19h04

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