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 :

SELECT plusieurs enregistrement


Sujet :

VB.NET

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Homme Profil pro
    Technical Team Leader
    Inscrit en
    Avril 2010
    Messages
    235
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Technical Team Leader
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2010
    Messages : 235
    Par défaut SELECT plusieurs enregistrement
    bonjour, j'ai 2 questions ? donc voici 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
    14
    15
    16
    17
    18
    19
    20
    Private Sub test1()
     
            Dim MyConnexion As OleDbConnection = New OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data source=C:\develop\Test oracle\bd_test.mdb")
            Dim Mycommand As OleDbCommand = MyConnexion.CreateCommand()
     
            Mycommand.CommandText = "SELECT CTYGA FROM ARTCOM"
     
            MyConnexion.Open()
     
            Dim myREADER As OleDbDataReader = Mycommand.ExecuteReader()
     
            Do While myREADER.Read()
     
                TextBox2.Text = TextBox2.Text & vbCrLf & myREADER.GetString(0)
            Loop
     
            myREADER.Close()
            MyConnexion.Close()
     
        End Sub
    et voici la structure de ma table:



    1) le problème c'est que dans le champ : 'CTYGA' je suis en format numérique... et j'ai une erreur de CAST...

    j'ai essayer ça:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    TextBox2.Text = TextBox2.Text & vbCrLf & CStr(myREADER.GetString(0))
    mais toujours pareil... si quelqu'un peux m'aider ?

    2) sinon est ce que je peux récuperer l'integraliter des enregistrements plus simplement que ça:

    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
    49
    50
    51
    52
    53
    54
    55
        Private Sub test()
     
            Dim MyConnexion As OleDbConnection = New OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data source=C:\develop\Test oracle\bd_test.mdb")
            Dim MycommandNGAMM As OleDbCommand = MyConnexion.CreateCommand()
            Dim MycommandCSITG As OleDbCommand = MyConnexion.CreateCommand()
            Dim MycommandCDATL As OleDbCommand = MyConnexion.CreateCommand()
            Dim MycommandCTYGA As OleDbCommand = MyConnexion.CreateCommand()
            Dim MycommandNENCH As OleDbCommand = MyConnexion.CreateCommand()
            Dim MycommandNPHSE As OleDbCommand = MyConnexion.CreateCommand()
            Dim MycommandCTYPH As OleDbCommand = MyConnexion.CreateCommand()
            Dim MycommandNSECG As OleDbCommand = MyConnexion.CreateCommand()
            Dim MycommandNOUDC As OleDbCommand = MyConnexion.CreateCommand()
            Dim MycommandLOBSG As OleDbCommand = MyConnexion.CreateCommand()
     
            MycommandNGAMM.CommandText = "SELECT NGAMM FROM ARTCOM"
            MycommandCSITG.CommandText = "SELECT CSITG FROM ARTCOM"
            MycommandCDATL.CommandText = "SELECT CDATL FROM ARTCOM"
            MycommandCTYGA.CommandText = "SELECT CTYGA FROM ARTCOM"
            MycommandNENCH.CommandText = "SELECT NENCH FROM ARTCOM"
            MycommandNPHSE.CommandText = "SELECT NPHSE FROM ARTCOM"
            MycommandCTYPH.CommandText = "SELECT CTYPH FROM ARTCOM"
            MycommandNSECG.CommandText = "SELECT NSECG FROM ARTCOM"
            MycommandNOUDC.CommandText = "SELECT NOUDC FROM ARTCOM"
            MycommandLOBSG.CommandText = "SELECT LOBSG FROM ARTCOM"
     
     
            MyConnexion.Open()
     
            Dim myNGAMM As OleDbDataReader = MycommandNGAMM.ExecuteReader()
            Dim myCSITG As OleDbDataReader = MycommandCSITG.ExecuteReader()
            Dim myCDATL As OleDbDataReader = MycommandCDATL.ExecuteReader()
            Dim myCTYGA As OleDbDataReader = MycommandCTYGA.ExecuteReader()
            Dim myNENCH As OleDbDataReader = MycommandNENCH.ExecuteReader()
            Dim myNPHSE As OleDbDataReader = MycommandNPHSE.ExecuteReader()
            Dim myCTYPH As OleDbDataReader = MycommandCTYPH.ExecuteReader()
            Dim myNSECG As OleDbDataReader = MycommandNSECG.ExecuteReader()
            Dim myNOUDC As OleDbDataReader = MycommandNOUDC.ExecuteReader()
            Dim myLOBSG As OleDbDataReader = MycommandLOBSG.ExecuteReader()
     
     
            Do While myNGAMM.Read() And myCSITG.Read() And myCDATL.Read() And myCTYGA.Read() And myNENCH.Read() And myNPHSE.Read() And myCTYPH.Read() And myNSECG.Read() And
                myNOUDC.Read() And myLOBSG.Read()
                TextBox2.Text = TextBox2.Text & vbCrLf & myNGAMM.GetString(0) & "|" & myCSITG.GetString(0) & "|" & myCDATL.GetString(0) & "|" & myCTYGA.GetString(0) & "|" & myNENCH.GetString(0) & "|" & myNPHSE.GetString(0) & "|" & myCTYPH.GetString(0) & "|" & myNSECG.GetString(0) & "|" & myNOUDC.GetString(0) & "|" & myLOBSG.GetString(0)
            Loop
     
            Do While myCTYGA.Read()
                'ListBox1.Items.Add(myCTYGA.GetString(0))
                TextBox2.Text = TextBox2.Text & vbCrLf & CStr(myCTYGA.GetString(0))
            Loop
     
     
            myNGAMM.Close()
            MyConnexion.Close()
     
        End Sub
    ??????

    merci

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

    Informations professionnelles :
    Activité : .NET / SQL SERVER

    Informations forums :
    Inscription : Avril 2007
    Messages : 14 204
    Par défaut
    mon dieu !


    ca ne sert à rien de coder quand y connait rien ... si ton métier est développeur ca fait peur
    sinon il faut d'abord apprendre, et il y a plein de tutos sur le net et sur ce site



    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    select a, b, c, d from table
    ramène tous les champs en une fois

    getstring sert à obtenir le string de la colonne spécifiée (0 pour a dans mon cas précédent, 1 pour b etc ..., il est aussi possible de nomer les champs pour éviter d'avoir des bugs en cas de modif)

    donc si c'est pas un string getstring plante c'est normal
    il faut aussi prendre en compte les valeurs nulles, qui retourne une instance de system.dbnull.value
    si dans tous les cas tu veux récupérer un string et transformer null en une chaine vide, le plus simple est
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    reader.item(col).tostring
    Cours complets, tutos et autres FAQ ici : C# - VB.NET

  3. #3
    Rédacteur
    Avatar de Nathanael Marchand
    Homme Profil pro
    Expert .Net So@t
    Inscrit en
    Octobre 2008
    Messages
    3 615
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Expert .Net So@t
    Secteur : Conseil

    Informations forums :
    Inscription : Octobre 2008
    Messages : 3 615
    Par défaut
    Sans vouloir être méchant, vu le code, je pense que tout est bon à jeter et qu'il faut passer par la case "Apprendre le VB.Net et SQL via un tutoriel"

  4. #4
    Inactif  
    Homme Profil pro
    Chef de projet NTIC
    Inscrit en
    Janvier 2007
    Messages
    6 604
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 64
    Localisation : France

    Informations professionnelles :
    Activité : Chef de projet NTIC

    Informations forums :
    Inscription : Janvier 2007
    Messages : 6 604
    Par défaut
    Citation Envoyé par tijote Voir le message
    voici mon code
    Ce n'est pas le mot que j'aurais choisi ......

    Comme déjà dit, à ce stade, il faut repartir des bases. Tuto SQL (surtout) + Tuto VB.NET

  5. #5
    Membre éclairé
    Homme Profil pro
    Technical Team Leader
    Inscrit en
    Avril 2010
    Messages
    235
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Technical Team Leader
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2010
    Messages : 235
    Par défaut
    désoler je debute, je suis pas un expert je demande de l'aide pour faire des choses un peu mieux, j'ai cherhcer dans des tutos mais c'est enormes la base d'informations,

    j'ai modifier:
    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
        Private Sub test1()
     
            Dim MyConnexion As OleDbConnection = New OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data source=C:\develop\Test oracle\bd_test.mdb")
            Dim Mycommand As OleDbCommand = MyConnexion.CreateCommand()
     
            Mycommand.CommandText = "SELECT NGAMM, CSITG, CDATL, CTYGA, NENCH, NPHSE, CTYPH, NSECG, NOUDC, LOBSG FROM ARTCOM"
     
            MyConnexion.Open()
     
            Dim myREADER As OleDbDataReader = Mycommand.ExecuteReader()
     
            Do While myREADER.Read()
     
                TextBox2.Text = TextBox2.Text & vbCrLf & myREADER.GetString(0) & "|" & myREADER.GetString(1) & "|" & myREADER.GetString(2) & "|" & myREADER.GetString(3) &
                     "|" & myREADER.GetString(4) & "|" & myREADER.GetString(5) & "|" & myREADER.GetString(6) & "|" & myREADER.GetString(7) & "|" & myREADER.GetString(8) &
                     "|" & myREADER.GetString(9)
     
            Loop
     
            myREADER.Close()
            MyConnexion.Close()
     
        End Sub
    mais j'ai le prob de cast...

  6. #6
    Membre éclairé
    Homme Profil pro
    Technical Team Leader
    Inscrit en
    Avril 2010
    Messages
    235
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Technical Team Leader
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2010
    Messages : 235
    Par défaut
    ok je vais essayer ca:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    reader.item(col).tostring
    merci

  7. #7
    Inactif  
    Homme Profil pro
    Chef de projet NTIC
    Inscrit en
    Janvier 2007
    Messages
    6 604
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 64
    Localisation : France

    Informations professionnelles :
    Activité : Chef de projet NTIC

    Informations forums :
    Inscription : Janvier 2007
    Messages : 6 604
    Par défaut
    C'est tout à fait normal que tu ais un problème de cast puisque tu fais des GetString sur des champs sans t'occuper de leur type (qui doit être déja un string, car, contrairement à la méthode ToString, GetString ne fait pas de conversion).

  8. #8
    Membre éclairé
    Homme Profil pro
    Technical Team Leader
    Inscrit en
    Avril 2010
    Messages
    235
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Technical Team Leader
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2010
    Messages : 235
    Par défaut
    oui...

    voici

    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
        Private Sub test1()
     
            Dim MyConnexion As OleDbConnection = New OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data source=C:\develop\Test oracle\bd_test.mdb")
            Dim Mycommand As OleDbCommand = MyConnexion.CreateCommand()
     
            Mycommand.CommandText = "SELECT NGAMM, CSITG, CDATL, CTYGA, NENCH, NPHSE, CTYPH, NSECG, NOUDC, LOBSG FROM ARTCOM"
     
            MyConnexion.Open()
     
            Dim myREADER As OleDbDataReader = Mycommand.ExecuteReader()
     
            Do While myREADER.Read()
     
                TextBox2.Text = TextBox2.Text & vbCrLf & myREADER.Item(0).ToString() & "|" & myREADER.Item(1).ToString() & "|" & myREADER.Item(2).ToString() & "|" & myREADER.Item(3).ToString() &
                     "|" & myREADER.Item(4).ToString() & "|" & myREADER.Item(5).ToString() & "|" & myREADER.Item(6).ToString() & "|" & myREADER.Item(7).ToString() & "|" & myREADER.Item(8).ToString() &
                     "|" & myREADER.Item(9).ToString()
            Loop
     
            myREADER.Close()
            MyConnexion.Close()
     
        End Sub
     
     
    #End Region
    c'est quand meme mieux qu'avant, merci

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

    Informations professionnelles :
    Activité : .NET / SQL SERVER

    Informations forums :
    Inscription : Avril 2007
    Messages : 14 204
    Par défaut
    Citation Envoyé par tijote Voir le message
    désoler je debute, je suis pas un expert je demande de l'aide pour faire des choses un peu mieux, j'ai cherhcer dans des tutos mais c'est enormes la base d'informations,
    on ne fait pas d'omelette sans casser des oeufs, et on est tous passé par là
    apprendre tout .net prend des années certes, mais les bases c'est beaucoup plus rapide
    le tuto suivant est pas mal :
    http://plasserre.developpez.com/cours/vb-net/
    il n'y a pas les bases de programmation qui sont communes à quasiment tous les langages comme l'algorithmie, mais il y a les bases de vb.net
    personnellement ca m'a pris une petite 50aine d'heure à lire et à assimiler, mais au moins quand j'ai commencé à taper du code j'ai regagné le temps passé en évitant de chercher partout et en tapant plus de code que nécessaire
    Cours complets, tutos et autres FAQ ici : C# - VB.NET

  10. #10
    Membre éclairé
    Homme Profil pro
    Technical Team Leader
    Inscrit en
    Avril 2010
    Messages
    235
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Technical Team Leader
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2010
    Messages : 235
    Par défaut
    oui merci je l'ai en PDF, j'ai lu aussi pas à pas et le programmeur, je pense que je m'y prend mal pour rechercher les données et là du multi sélection en SQL c'est clair car je sais le faire en requette sql access mais le faire en vb j'ai trouver que des faq ou tuto qui explique comment faire un enregistrement d'ailleurs le code viens du cours de plasserre...
    en tout cas merci pour les infos.

  11. #11
    Membre émérite
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Juillet 2007
    Messages
    693
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Consultant informatique

    Informations forums :
    Inscription : Juillet 2007
    Messages : 693
    Par défaut
    Citation Envoyé par tijote Voir le message
    oui merci je l'ai en PDF, j'ai lu aussi pas à pas et le programmeur, je pense que je m'y prend mal pour rechercher les données et là du multi sélection en SQL c'est clair car je sais le faire en requette sql access mais le faire en vb j'ai trouver que des faq ou tuto qui explique comment faire un enregistrement d'ailleurs le code viens du cours de plasserre...
    en tout cas merci pour les infos.
    Euh, le SQL c'est du SQL, un langage avec un standard défini, donc la grosse majorité des requêtes écrites pour un SGBD fonctionne pour les autres. Mais comme dit, c'est un standard mais chaque éditeur peut ajouter des fonctions, implémenter les choses différemment.

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

Discussions similaires

  1. Réponses: 2
    Dernier message: 26/07/2012, 21h39
  2. Réponses: 4
    Dernier message: 25/09/2009, 23h54
  3. [MySQL] Afficher une selection d'enregistrement sur plusieurs pages
    Par largolgd dans le forum PHP & Base de données
    Réponses: 12
    Dernier message: 09/03/2006, 22h20
  4. SQL et Access : ajouter plusieurs enregistrements
    Par Bernard M dans le forum Bases de données
    Réponses: 3
    Dernier message: 23/04/2004, 21h39
  5. Insérer plusieurs enregistrements en une seule requête
    Par pyd001 dans le forum MS SQL Server
    Réponses: 4
    Dernier message: 26/02/2004, 10h38

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