C# と VB.NET の質問掲示板

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト

Re[5]: DataReaderをDataTableへ


(過去ログ 32 を表示中)

[トピック内 6 記事 (1 - 6 表示)]  << 0 >>

■15561 / inTopicNo.1)  DataReaderをDataTableへ
  
□投稿者/ トルネコ (1回)-(2008/03/15(Sat) 15:37:47)

分類:[ASP.NET (VB)] 


ASP.NET VB開発です。

DataReaderを使用して作成しておりますが、DataReaderの中身をそのままDataTableに入れたいと
考えております。
DataReader事態にそういったメソッドはないようなのでWhileなどでループさせて読み取り格納する必要が
あると思いますが、どの様に入れるのか調べた結果分かりませんでした。
お願いできますでしょうか。
引用返信 編集キー/
■15562 / inTopicNo.2)  Re[1]: DataReaderをDataTableへ
□投稿者/ やじゅ (245回)-(2008/03/15(Sat) 17:07:07)
やじゅ さんの Web サイト
2008/03/15(Sat) 17:16:20 編集(投稿者)
2008/03/15(Sat) 17:10:10 編集(投稿者)
2008/03/15(Sat) 17:09:43 編集(投稿者)

>■No15561 (トルネコ さん) に返信
> ASP.NET VB開発です。
> DataReaderを使用して作成しておりますが、DataReaderの中身をそのままDataTableに入れたいと
> 考えております。

oDataReader = oCommand.ExecuteReader()
Dim MyTbl As DataTable
MyTbl = oDataReader.GetSchemaTable
引用返信 編集キー/
■15567 / inTopicNo.3)  Re[2]: DataReaderをDataTableへ
□投稿者/ トルネコ (3回)-(2008/03/15(Sat) 22:00:06)
No15562 (やじゅ さん) に返信
> 2008/03/15(Sat) 17:16:20 編集(投稿者)
> 2008/03/15(Sat) 17:10:10 編集(投稿者)
> 2008/03/15(Sat) 17:09:43 編集(投稿者)
>
> >■No15561 (トルネコ さん) に返信
>>ASP.NET VB開発です。
>>DataReaderを使用して作成しておりますが、DataReaderの中身をそのままDataTableに入れたいと
>>考えております。
>
> oDataReader = oCommand.ExecuteReader()
> Dim MyTbl As DataTable
> MyTbl = oDataReader.GetSchemaTable
返信ありがとうございます。
GetSchemaTableメソッドですが
&#8226; 名前
&#8226; データ型
&#8226; サイズ
&#8226; その列が主キーのフィールドかどうか
&#8226; その列がオートナンバー (AutoIncrement) 型のフィールドかどうか

の情報のみらしく
データ自体は入っていないものと思われます。

おねがいいたします。
引用返信 編集キー/
■15568 / inTopicNo.4)  Re[3]: DataReaderをDataTableへ
□投稿者/ やじゅ (247回)-(2008/03/15(Sat) 22:16:32)
やじゅ さんの Web サイト
No15567 (トルネコ さん) に返信
> データ自体は入っていないものと思われます。
>

失礼しました。
http://naoko.wankuma.com/designpatterns/designpatterns_C001.html

'DataReader→DataTable
    Dim dt As DataTable = New DataTable
    'DataTableに列を追加
    For i As Integer = 0 To sqlDataReader.GetSchemaTable.Rows.Count - 1
      dt.Columns.Add(DirectCast(sqlDataReader.GetSchemaTable.Rows(i).Item("ColumnName"), String), _
               GetType(String))
    Next
    Do While sqlDataReader.Read
      Dim row As DataRow = dt.NewRow()
      For i As Integer = 0 To sqlDataReader.FieldCount - 1
        row(i) = MyBase.NullConvert(sqlDataReader.Item(i))
      Next
      dt.Rows.Add(row)
    Loop
    Return dt

引用返信 編集キー/
■15587 / inTopicNo.5)  Re[4]: DataReaderをDataTableへ
□投稿者/ トルネコ (4回)-(2008/03/16(Sun) 23:53:04)
No15568 (やじゅ さん) に返信
> ■No15567 (トルネコ さん) に返信
>>データ自体は入っていないものと思われます。
> >
>
> 失礼しました。
> http://naoko.wankuma.com/designpatterns/designpatterns_C001.html
>
> 'DataReader→DataTable
>     Dim dt As DataTable = New DataTable
>     'DataTableに列を追加
>     For i As Integer = 0 To sqlDataReader.GetSchemaTable.Rows.Count - 1
>       dt.Columns.Add(DirectCast(sqlDataReader.GetSchemaTable.Rows(i).Item("ColumnName"), String), _
>              GetType(String))
>     Next
>     Do While sqlDataReader.Read
>       Dim row As DataRow = dt.NewRow()
>       For i As Integer = 0 To sqlDataReader.FieldCount - 1
>         row(i) = MyBase.NullConvert(sqlDataReader.Item(i))
>       Next
>       dt.Rows.Add(row)
>     Loop
>     Return dt


有難うございます。
助かりました。
引用返信 編集キー/
■15588 / inTopicNo.6)  Re[5]: DataReaderをDataTableへ
□投稿者/ トルネコ (5回)-(2008/03/16(Sun) 23:53:18)
No15587 (トルネコ さん) に返信
> ■No15568 (やじゅ さん) に返信
>>■No15567 (トルネコ さん) に返信
> >>データ自体は入っていないものと思われます。
>>>
>>
>>失礼しました。
>>http://naoko.wankuma.com/designpatterns/designpatterns_C001.html
>>
>>'DataReader→DataTable
>>    Dim dt As DataTable = New DataTable
>>    'DataTableに列を追加
>>    For i As Integer = 0 To sqlDataReader.GetSchemaTable.Rows.Count - 1
>>      dt.Columns.Add(DirectCast(sqlDataReader.GetSchemaTable.Rows(i).Item("ColumnName"), String), _
>>             GetType(String))
>>    Next
>>    Do While sqlDataReader.Read
>>      Dim row As DataRow = dt.NewRow()
>>      For i As Integer = 0 To sqlDataReader.FieldCount - 1
>>        row(i) = MyBase.NullConvert(sqlDataReader.Item(i))
>>      Next
>>      dt.Rows.Add(row)
>>    Loop
>>    Return dt
>
>
> 有難うございます。
> 助かりました。
解決済み
引用返信 編集キー/


トピック内ページ移動 / << 0 >>

このトピックに書きこむ

過去ログには書き込み不可

管理者用

- Child Tree -