2016-03-31 7 views
1

したがって、私のデータベースの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は私が望む列ですが、これはどちらでも動作しませんでした!どんな馬鹿も大丈夫でしょう!ありがとう!

+0

da.Fill(DataGrid) 

を交換してください。 'da.Fill(DataGrid)'私はDataGridが何であるかはわかりませんが、それはどのようにデータグリッドを埋めるかではありません。アダプタを使用してデータテーブルを埋める、DataSourceとしてDTを割り当てる – Plutonix

+0

私はMySQLとDataGridViewsを使用してこれをすべて行いますが、データアダプタは使用しません。自分のデータを配列に直接読み込んだ後、配列を使ってグリッドを手動で作成します。それはアダプタを使用するよりも少しコードですが、私はグリッドと表示されているものとその表示方法を完全に制御するのが好きです。データアダプタの代替品に興味があれば、コードを掲載します。 – user2721815

答えて

0

は `これは良い問題の説明work`ではありませんしませんでした

DataGrid.DataSource=ds.Tables[0] 
+0

これを実装したので、コードにエラーはありませんが、実行するとフォームのDataGridは空のままですか?これが起こる理由は何ですか? –

+0

グリッドを初期化した後に 'DataGrid.DataBind()'メソッドを追加する必要があります –

+0

これを行うと、DataBindがDataGridのメンバーではないというエラーが表示されます。このメソッドを記述する必要はありますか?またはパッケージをインポートしますか? –

関連する問題