Conversion en source de données [Résolu]

Signaler
Messages postés
87
Date d'inscription
vendredi 22 décembre 2006
Statut
Membre
Dernière intervention
19 mai 2012
-
Messages postés
87
Date d'inscription
vendredi 22 décembre 2006
Statut
Membre
Dernière intervention
19 mai 2012
-
slt les amis,
je suis débutant dans la programmation en vb.net vb 2005.pour me connecter à une base données et extraire les données, je n'utilise pas une source de données comme le dataset.j'effectue mon opération en écrivant du code par exemple:

Dim sql As String = "INSERT INTO ETUDIANT VALUES ('" & Txtidetu.Text & "','" & _
Txtnometu.Text & "','" & Txtprenetu.Text & "',#" & DTPdatenais.Value.ToString("MM/dd/yyy") & _
"#,'" & TxtAdress.Text & "','" & CombocodFil.Text & "')"

Dim Cnx As OleDbConnection = ConnectionDB()
Cnx.Open()
Dim Cmd As New OleDbCommand(sql, Cnx)
Cmd.CommandType = CommandType.Text
Dim numSuccess As Integer = Cmd.ExecuteNonQuery()
If numSuccess = 1 Then
Call Effacertousleschamps()
LstViewEtu.Items.Clear() 'Efface tout le tableau
Call RemplirTableauEtudiant() 'Recharge le tableau des étudiants.

' On repasse le curseur en normal
Cursor = Cursors.Arrow

MessageBox.Show("Successful!", "Rappel", MessageBoxButtons.OK, MessageBoxIcon.Information)
Else
' On repasse le curseur en normal
Cursor = Cursors.Arrow

MessageBox.Show("Erreur!", "Erreur", MessageBoxButtons.OK, MessageBoxIcon.Error)
End If
Cmd.Dispose()
Cnx.Close()

mais la difficulté que j'ai c'est que j'ai du mal à faire du binding avec un datagridview. la question que je veux savoir c'est comment transformer mon oledbreader ou sqlreader en source de données sans passer par l'assistant de création de dataset.
merci d'avance
cordialement,

4 réponses

Messages postés
120
Date d'inscription
samedi 3 mai 2008
Statut
Membre
Dernière intervention
18 juillet 2013

salut,
si j'ai bien compri ton problème , tu veux creer une source de données a partir de ton datareader?
si c'est le cas , essaye de creer un datatable et
définie son shema puis fai le remplissage a partir des lignes de ton datareader


 Dim DT As New DataTable("Clients")

        'creation des columns du datatable a partir du datareader
        For i As Integer = 0 To r.FieldCount - 1
            DT.Columns.Add(r.GetName(i), r.GetFieldType(i))
        Next

        Dim row As DataRow

        'creation des lignes + remplissage
        While r.Read()
            row = DT.NewRow
            row.Item(0) = r.Item(0)
            row.Item(1) = r.Item(1)
            row.Item(2) = r.Item(2)
            DT.Rows.Add(row)
        End While

        DataGridView1.DataSource = DT

j'espere que ça ce que tu cherche ^_^
@+
Messages postés
120
Date d'inscription
samedi 3 mai 2008
Statut
Membre
Dernière intervention
18 juillet 2013

Salut,
je sais pas si il est possible d'utiliser un datareader comme source de données , mais
tu peux insérer les ligne de ton datareader dans la DataGridView sans passé par la propriete datasource ^_^

voici un exemple :

    dim con As New OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;" _
    & "Data Source=C:\TESTIMG.mdb;Persist Security Info=False")
    dim com As New OleDbCommand("select * from Clients", con)
       
        DataGridView1.Columns.Add("col0", "ID")
        DataGridView1.Columns.Add("col1", "Nom")
        DataGridView1.Columns.Add("col2", "Tel")

        Try
            con.Open()
        Catch ex As Exception
            MsgBox(ex.message)
            Exit Sub
        End Try

        Dim r As OleDbDataReader
        r = com.ExecuteReader

        Dim t(2) As String

        While (r.Read() = True)
            t(0) = r.Item(0).ToString
            t(1) = r.Item(1).ToString
            t(2) = r.Item(2).ToString
            DataGridView1.Rows.Add(t)
        End While

        r.Close()
        con.Close()


@+
Messages postés
87
Date d'inscription
vendredi 22 décembre 2006
Statut
Membre
Dernière intervention
19 mai 2012

merci de répondre à une partie de ma question.et donc dorénavant je sais comment remplir mon datagridview de cette manière.Mais l'autre volet de ma question c'est que à travers la requête que tu as défini comment pouvoir transformer cela en une source de données parce que je n'aurai pas seulement à travailler avec un datagridview.
merci pour la compréhension.
Messages postés
87
Date d'inscription
vendredi 22 décembre 2006
Statut
Membre
Dernière intervention
19 mai 2012

merci bcp pour la réponse
@+