Conversion en source de données

Résolu
cs_bonagad Messages postés 87 Date d'inscription vendredi 22 décembre 2006 Statut Membre Dernière intervention 19 mai 2012 - 13 oct. 2009 à 16:56
cs_bonagad Messages postés 87 Date d'inscription vendredi 22 décembre 2006 Statut Membre Dernière intervention 19 mai 2012 - 14 oct. 2009 à 19:38
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

cs_ssefyou Messages postés 119 Date d'inscription samedi 3 mai 2008 Statut Membre Dernière intervention 18 juillet 2013 1
14 oct. 2009 à 15:35
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 ^_^
@+
3
cs_ssefyou Messages postés 119 Date d'inscription samedi 3 mai 2008 Statut Membre Dernière intervention 18 juillet 2013 1
14 oct. 2009 à 00:03
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()


@+
0
cs_bonagad Messages postés 87 Date d'inscription vendredi 22 décembre 2006 Statut Membre Dernière intervention 19 mai 2012
14 oct. 2009 à 09:31
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.
0
cs_bonagad Messages postés 87 Date d'inscription vendredi 22 décembre 2006 Statut Membre Dernière intervention 19 mai 2012
14 oct. 2009 à 19:38
merci bcp pour la réponse
@+
0
Rejoignez-nous