cs_bonagad
Messages postés87Date d'inscriptionvendredi 22 décembre 2006StatutMembreDernière intervention19 mai 2012
-
13 oct. 2009 à 16:56
cs_bonagad
Messages postés87Date d'inscriptionvendredi 22 décembre 2006StatutMembreDernière intervention19 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 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,
cs_ssefyou
Messages postés119Date d'inscriptionsamedi 3 mai 2008StatutMembreDernière intervention18 juillet 20131 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
cs_ssefyou
Messages postés119Date d'inscriptionsamedi 3 mai 2008StatutMembreDernière intervention18 juillet 20131 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()
cs_bonagad
Messages postés87Date d'inscriptionvendredi 22 décembre 2006StatutMembreDernière intervention19 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.