したがって、私のデータベースのqueryonからの値を持つフォームに存在するDataGridという名前のDataGridを埋めようとしています。このDataGridにデータを配置するのに問題があります。私はこれまでのところ次のコードを持っています。VBでのフォームのデータグリッドにMySqlデータベースからの値を入力する
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
私は、問題がDataGridだけであることを知っています。問題は、DataGridにdaの値を入力しようとするところです。代わりに試しました
'DataGrid.DataSource = ds.Tables("movie_name")
movie_nameは私が望む列ですが、これはどちらでも動作しませんでした!どんな馬鹿も大丈夫でしょう!ありがとう!
で
を交換してください。 'da.Fill(DataGrid)'私はDataGridが何であるかはわかりませんが、それはどのようにデータグリッドを埋めるかではありません。アダプタを使用してデータテーブルを埋める、DataSourceとしてDTを割り当てる – Plutonix
私はMySQLとDataGridViewsを使用してこれをすべて行いますが、データアダプタは使用しません。自分のデータを配列に直接読み込んだ後、配列を使ってグリッドを手動で作成します。それはアダプタを使用するよりも少しコードですが、私はグリッドと表示されているものとその表示方法を完全に制御するのが好きです。データアダプタの代替品に興味があれば、コードを掲載します。 – user2721815