- - PR -
VB.NET DateTableとADODB.RecordSetの連結
1
投稿者 | 投稿内容 |
---|---|
|
投稿日時: 2006-01-16 15:08
おつかれさまです。グリッドのデータソースにDateTableをバインド後、 作成されたグリッドを確認するとデータがすべてNULLになります。 Dim DataAdpt As System.Data.OleDb.OleDbDataAdapter = New System.Data.OleDb.OleDbDataAdapter Dim Rec AS ADODB.Recordset = New ADODB.Recordset() ========================================== @ DataAdpt.Fill(dataset, Rec, "TABLE_NAME") grid.DataSource = dataset ========================================== A DataAdpt.Fill(datatable, Rec) grid.DataSource = datatable ========================================== ※dataset、datatableの定義は省略しました。 @だとうまくデータを取得できるのですがRec.OpenしたRecがなぜかClose してしまいます。 Aではデータは取得できませんがCloseはしません。 Aでいきたいのですが。 なぜ、このような現象が・・・。 ごぞんじのかたお願いします。 |
|
投稿日時: 2006-01-16 15:44
すいません、@でRecordsetが閉じるのは仕様のようです。↓
http://www.microsoft.com/japan/msdn/library/default.asp?url=/japan/msdn/library/ja/cpref/html/frlrfSystemDataOleDbOleDbDataAdapterClassFillTopic2.asp |
|
投稿日時: 2006-01-16 18:05
おつかれさまです。新しいDatatableを作成して、元のものに
代入という方法でデータ取得に関しては解決できました。↓ Dim DataAdpt As System.Data.OleDb.OleDbDataAdapter = New System.Data.OleDb.OleDbDataAdapter Dim Rec AS ADODB.Recordset = New ADODB.Recordset() Dim newDATATABLE As New DataTable ========================================== A DataAdpt.Fill(newDATATABLE, Rec) datatable = newDATATABLE grid.DataSource = datatable ========================================== しかしこの方法だとdatatable作成時に設定した列の非表示設定が なくなって出てきてしまいます。※他の原因かもしれませんが!! |
1