- - PR -
DataGridに表示したDataTableの更新
1
投稿者 | 投稿内容 |
---|---|
|
投稿日時: 2005-12-02 09:33
こんにちは。
いつも大変お世話になっています。 DataGridにテーブルのデータを表示させ、変更したものをテーブルに反映させたいので、 下記の過去レスを参考にして、コードを作成しました。 http://www.atmarkit.co.jp/bbs/phpBB/viewtopic.php?topic=25554&forum=7&6 過去レスでは、問題なく、データの更新が反映されているようなのですが、 私の書いたコードだとうまく機能しません。 (エラーにならないが、テーブルに更新が反映されない) http://www.atmarkit.co.jp/fdotnet/basics/adonet_index/index.html も読んでみたのですが、肝心のテーブルへの反映部分が載っていませんでした。 どなたかご教授お願いします。 Dim cn As New OleDb.OleDbConnection Dim ocmd As New OleDb.OleDbCommand Dim oDataAdapter As New OleDb.OleDbDataAdapter Dim oDataset As New DataSet Dim oDataTable As New DataTable Dim MDBFile = "C:\Documents and Settings\sanyo\デスクトップ\期限付き案件\外注\入荷PGM.mdb" ☆☆データグリッドに表示させるコード☆☆ 'DB接続文字列の設定 cn = New OleDb.OleDbConnection("provider = ""Microsoft.Jet.OLEDB.4.0"";") cn.ConnectionString &= "Data Source=""" & MDBFile & """;" '接続を確率 cn.Open() '接続済みのConnectionを指定 ocmd.Connection = cn 'クエリ文字を指定 ocmd.CommandText = "select T1.品名,T2.発注NO,T2.オーダNO,T2.入荷予定日, " & _ "T2.発注数,T2.支払先名 from THINMO_A as T1,THACCHU_A T2 " & _ "where T1.品目コード = T2.品目コード" 'レコードデータを取得 oDataAdapter.SelectCommand = ocmd oDataset.Clear() oDataAdapter.Fill(oDataset, "THINMO_A") '接続を切断 cn.Close() oDataTable = oDataset.Tables("THINMO_A") oDataTable.DefaultView.AllowNew = True oDataTable.DefaultView.AllowDelete = True oDataTable.DefaultView.AllowEdit = True DataGrid1.SetDataBinding(oDataTable.DefaultView, "") ☆☆更新btnを押したときのコード☆☆ 'DB接続文字列の設定 cn = New OleDb.OleDbConnection("provider = ""Microsoft.Jet.OLEDB.4.0"";") cn.ConnectionString &= "Data Source=""" & MDBFile & """;" '接続を確率 cn.Open() '接続済みのConnectionを指定 ocmd.Connection = cn Try CB = New OleDb.OleDbCommandBuilder(oDataAdapter) 'データベース更新 oDataAdapter.Update(oDataTable) Catch ex As Exception MessageBox.Show(ex.ToString, "データ更新エラー") End Try |
1