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

Visual Studio Discussion :

Problème de récupération sur une requête SQL


Sujet :

Visual Studio

  1. #1
    Membre actif
    Problème de récupération sur une requête SQL
    Bonjour, dans le cadre de mon travail, je dois développer une application qui gère nos clients, leur parc machines... le tout dans une base de données Access.
    Dans cette application, je fais souvent appel à la base via plusieurs requêtes SQL, mais je bute sur une...
    J'ai une base qui s'appelle "Photo" dans laquelle j'ai les champs "Nom_client", "Num_client", "Photo", "ComPhoto", et "IdPhoto".
    Je veux récupérer les noms des photos (dans le champs "Photo") avec comme conditions le "Nom_client" et le "Num_client" et ensuite les insérer dans un listview.


    Code VB.NET :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
    'Charge les noms des photos dans le listview
    OuvrirConnexion()
     
    sql = "SELECT Photo FROM Photo WHERE Nom_client = '" & Nom_ClientBD & "' AND Num_client = '" & Num_Client & "'"
    cmd = New OleDbCommand(sql)
    dta = New OleDbDataAdapter(cmd)
    cmd.Connectio() = cnx
    dta.Fill(dts, "Photo")
    dtt = dts.Tables("Photo")
    rownum=0
    For i= 0 To dtt.Rows.Count - 1
          ListView1.Items.Add(dtt.Rows(rownum).Item("Photo"))
    Next
    dts.Clear()
     
    FermerConnexion()



    Ci dessous un morceau de ma base avec un Nom_Client "TOTO" un Num_Client "413" avec trois photos:



    Mon problème est le suivant, le listview se charge avec 3 lignes, mais ces 3 lignes ont toujours le même nom (TOTO_413_ape_325).
    Merci de votre aide.
    "Ce n'est pas parce que les choses sont impossibles qu'il faut les accepter."

  2. #2
    Membre averti
    Bonjour,

    Code VB.NET :Sélectionner tout -Visualiser dans une fenêtre à part
    1
    2
    3
    4
    rownum=0
    For i= 0 To dtt.Rows.Count - 1
          ListView1.Items.Add(dtt.Rows(rownum).Item("Photo"))
    Next


    Dans ce morceau de code, rownum n'est jamais incrémenté, il vaut toujours 0. Donc tu ajoutes toujours l'élément situé à l'index 0 de ta datatable à chaque tour de boucle.
    Soit tu incrémentes rownum à chaque fin de boucle, soit tu utilise directement ta variable i.
    Tant va la cruche à l'eau qu'à la fin y'a plus d'eau.

  3. #3
    Membre actif
    Bonjour joKED, et surtout merci de ton aide...
    Ton code fonctionne parfaitement, et j'ai surtout honte de ne pas avoir vu ça...
    Merci
    "Ce n'est pas parce que les choses sont impossibles qu'il faut les accepter."

###raw>template_hook.ano_emploi###