使用MySql数据库中的值在VB中的表单上填充数据网格

时间:2016-03-31 14:32:15

标签: mysql vb.net

所以我试图填充一个名为DataGrid的DataGrid,它存在于一个表单上,该表单包含来自我的数据库的查询值。我将数据放入此DataGrid时遇到问题。到目前为止,我有以下代码:

   Private Sub Form9_Load(sender As Object, e As EventArgs) Handles  MyBase.Load
    NoMovies.Visible = False
    DataGrid.Visible = False
    Dim query As String
    Dim ds As New DataSet
    Dim da As New MySqlDataAdapter
    MysqlConn = New MySqlConnection
    Dim Reader As MySqlDataReader
    'another query and a two table join'
    query = "SELECT movie_id, movie_name from movie2 Where movie_id=(SELECT movie_id from rental where client_username='" & currentUser & "' AND start_date<='" & DateTime.Now.ToString("yyyy-MM-dd") & "' AND return_date>='" & DateTime.Now.ToString("yyyy-MM-dd") & "')"
    MysqlConn.ConnectionString ="server=mysql.scss.tcd.ie;userid=murpha83;password=gh8ht6789;database=murpha83_db"
    MysqlConn.Open()
    Command = New MySqlCommand(query, MysqlConn)
    Reader = Command.ExecuteReader
    da = New MySqlDataAdapter(query, MysqlConn)
    da.Fill(ds)
    da.Fill(DataGrid)
    If Reader.HasRows = True Then
        DataGrid.Visible = True
    Else
        NoMovies.Visible = True
    End If
    MysqlConn.Close()
    Reader.Close()
End Sub 

我知道MySql语句有效,所以问题只在于DataGrid。问题是我尝试使用da中的值填充DataGrid。我或者尝试了

 'DataGrid.DataSource = ds.Tables("movie_name")

因为movie_name是我想要的列,但这也不起作用!任何hlep都会很棒!谢谢!

1 个答案:

答案 0 :(得分:0)

替换

da.Fill(DataGrid)

使用

DataGrid.DataSource=ds.Tables[0]