Ajouter plusieurs enregistrement à partir d'une listbox

cs_mohellebi Messages postés 98 Date d'inscription mercredi 31 octobre 2007 Statut Membre Dernière intervention 1 août 2019 - 17 oct. 2014 à 13:54
Whismeril Messages postés 19027 Date d'inscription mardi 11 mars 2003 Statut Contributeur Dernière intervention 24 avril 2024 - 21 oct. 2014 à 07:43
Bonjour,
Je développe une application vb 2010/sql server 2008.
Pour ajouter des enregistrements j'utilise un code qui marche sans problème, mais en voulant ajouter plusieurs enregistrement à partir d'une listebox, ça se trouve que le code ne prend pas en charge la boucle.
Merci d'avance pour votre aide qui me sera d'une grande utilité
Ci-dessous le code :

 connexion.ConnectionString = "Data Source=.\sqlexpress;Initial Catalog=adom;Integrated Security=True"
        connexion.Open()
        'Try


        Dim strRequete As String = "SELECT * FROM clinique"
        Dim dtt As DataTable
        Dim oSqlDataAdapter As New SqlDataAdapter(strRequete, connexion)
        Dim oDataSet As New DataSet("clinique")
        oSqlDataAdapter.Fill(oDataSet, "clinique")
        dtt = oDataSet.Tables("clinique")

        oSqlDataAdapter.InsertCommand = New SqlCommand("INSERT INTO clinique(nom_clinique,adresse_clinique) Values(@A,@B)", connexion)


        oSqlDataAdapter.InsertCommand.Parameters.Add("@A", SqlDbType.NVarChar, 20, "nom_clinique")
        oSqlDataAdapter.InsertCommand.Parameters.Add("@B", SqlDbType.NVarChar, 250, "adresse_clinique")

        Dim oDataRow As DataRow
        Dim byteArray As Byte() = {}

        oDataRow = oDataSet.Tables("clinique").NewRow()

     'la boucle qui devrait me permettre d'ajouter tous les enregistrements qui se trouvent dans la listebox
        Dim i As Integer
        For i = 1 To 3
            oDataRow("nom_clinique") = ListBox1.Items(i)
        Next i

        oDataRow("adresse_clinique") = adressecliniqueTextBox.Text

        oDataSet.Tables("clinique").Rows.Add(oDataRow)
        oSqlDataAdapter.Update(oDataSet, "clinique")
        oDataSet.Clear()
        oSqlDataAdapter.Fill(oDataSet, "clinique")
        dtt = oDataSet.Tables("clinique")
        MsgBox("enregistré avec succés", MsgBoxStyle.Information, "Status")
        connexion.Close()

        nomcliniqueTextBox.Text = ""
        adressecliniqueTextBox.Text = ""
        nomcliniqueTextBox.Focus()
        ''Catch ex As Exception
        'MsgBox("Attention enregistrement non sauvegarder!", MsgBoxStyle.Information, "Erreur d'enregistrement")
        ' Exit Sub
        'End Try

3 réponses

Whismeril Messages postés 19027 Date d'inscription mardi 11 mars 2003 Statut Contributeur Dernière intervention 24 avril 2024 656
17 oct. 2014 à 18:47
Bonjour, je pense que la boucle doit inclure la méthode add et la pentode update.
0
cs_mohellebi Messages postés 98 Date d'inscription mercredi 31 octobre 2007 Statut Membre Dernière intervention 1 août 2019 3
Modifié par cs_mohellebi le 17/10/2014 à 20:02
mais le add permet d'ajouter des enregistrements à la listbox en question non??
0
ucfoutu Messages postés 18038 Date d'inscription lundi 7 décembre 2009 Statut Modérateur Dernière intervention 11 avril 2018 211
17 oct. 2014 à 19:48
Bonjour, whismeril,
La pentode ? Tiens ...
On nage en électronique ? Et pourquoi pas une tetrode, alors ?
Amitiés.
0
cs_ShayW Messages postés 3253 Date d'inscription jeudi 26 novembre 2009 Statut Membre Dernière intervention 3 décembre 2019 57
18 oct. 2014 à 21:04
bonjour

et methode aussi c'est electronique

Methode Electronics est un développeur leader de solutions et de produits spécifiques, conçus sur mesure et utilisant les dernières technologies. De l'identification biométrique utilisant les caractéristiques uniques de la structure de la peau humaine à la détection de signatures magnétiques et aux propriétés mécaniques et électriques, en passant par les commutateurs électroniques tactiles révolutionnaires qui équipent aujourd'hui les appareils modernes et les automobiles, l'étendue de la boîte à outils de solutions techniques Methode aide les clients à différencier leurs produits. Nos centres régionaux de conception et de service à la clientèle, associés aux campus de fabrication dans les Amériques, en Europe et en Asie permettent à Methode d'apporter une solution globale aux clients à travers le monde. Nous mettons le talent de nos 4 000 et quelque collaborateurs au service d'un éventail diversifié de clients regroupés dans quatre secteurs de marché : interfaces utilisateur, capteurs et commutateurs, alimentation électrique et données. Methode aide ses clients à gagner sur leurs segments de marché en leur fournissant une combinaison inégalée d'attention particulière portée aux clients, de technologie différenciée, de résolution de problèmes et de fabrication de classe mondiale.
Bon week end
0
Whismeril Messages postés 19027 Date d'inscription mardi 11 mars 2003 Statut Contributeur Dernière intervention 24 avril 2024 656
21 oct. 2014 à 07:43
Hello, un changement intempestif de mon correcteur d'orthographe.... Je voulais dire méthode comme l'a deviné Shayw
0
cs_ShayW Messages postés 3253 Date d'inscription jeudi 26 novembre 2009 Statut Membre Dernière intervention 3 décembre 2019 57
18 oct. 2014 à 21:13
Bonjour

Pas clair pourquoi utiliser un la requete insert into si tu utilises
un dataset ?
peut etre ici
http://stackoverflow.com/questions/5937681/exporting-listbox-items-into-a-dataset
0
cs_mohellebi Messages postés 98 Date d'inscription mercredi 31 octobre 2007 Statut Membre Dernière intervention 1 août 2019 3
19 oct. 2014 à 20:22
Bonsoir,
D'abord merci pour ta remarque, effectivement le dataset n avait pas eu lieu d'être et qu'il fallait l'enlever du code, par ailleurs ma question est simplement dirigée vers la boucle qui se trouve au niveau de la listbox et comment faire envoyer toutes les données au même moment vers ma table "clinique" d'après ce bous de code si possible bien sur .
Merci encore cs_shayW
0
Rejoignez-nous