2013-08-09 13 views
6

Im bazı kod üzerinde biraz sıkışmış bir DataGridView Dolum i bir SQL veritabanından bazı veriler okuma ve bir form üzerinde bir DataGridView görüntülemek için wantint am olmasıdır. Veritabanından döndürülen veri olduğunu doğruladım ancak bunun neden görünmediğinden emin değilim. Ben internetten öğreticiler bir dizi takip ettim ama şimdiye kadar olmayan ben de bir datatable uygulamak ancak herhangi bir veri türü bir dönüşüm hatayı almaya çalıştık burada </p> <p>bir taslak yazma im SQLReader

kodum

Private Sub PopulateGrid() 
    Dim Con As New SqlClient.SqlConnection 
    Dim strCon As String = CropTrackMod.strConn 
    Dim strCommand As String = "select * from customer" 


    Try 
     Con.ConnectionString = strCon 
     Dim Cm As New SqlClient.SqlCommand(strCommand, Con) 
     Con.Open() 
     Dim reader As SqlClient.SqlDataReader = Cm.ExecuteReader() 

     'test to confirm data received 
     reader.Read() 
     MsgBox(reader.Item("ContactName")) 


     DataGridView1.AutoGenerateColumns = True 
     DataGridView1.DataSource = reader 
     DataGridView1.Refresh() 



    Catch ex As Exception 
     MessageBox.Show(ex.Message, "Error") 

    Finally 
     If Con.State = ConnectionState.Open Then 
      Con.Close() 
     End If 
    End Try 

End Sub 

olduğunu çalışmış help WinForms bir DataGridView doğrudan bir DataReader bağlamak olamaz

teşekkürler çocuklar

+0

ait veri kaynağı için Datatable atayabilir. Okuyucuyu veri tabanına geçirdim ve dataridview'in veri kaynağını veri tablosuna atadım. – PowerMan2015

+0

Neden bu sorunun reddedildiğini anlamıyorum, özellikle de downvote için bir açıklama yok ... – NobodysNightmare

+0

Rep değişimi için teşekkürler, çok – PowerMan2015

cevap

12

mutluluk duyacağız. Onun yerine, sen okuyucu ile bir datatable yüklemek ve sadece bir datatable uygulayarak sorunu çözmek başarmış DataGridView

Dim dt = new DataTable() 
dt.Load(reader) 
DataGridView1.AutoGenerateColumns = True 
DataGridView1.DataSource = dt 
DataGridView1.Refresh() 
+0

için teşekkürler geç cevap için özür dilerim, tatile gittim hepiniz takdir edilir – PowerMan2015

+0

Harika çözüm, teşekkür ederim – destinydz