VB9を使用して、いくつかのストアドプロシージャ呼び出しの結果をDataTableに入力しようとしています。私が仕事にしようとしているものは次のようになります:
For Each record In New SqlCommand("exec getResults", conn).ExecuteReader
Dim dr As DataRow = dt.NewRow
record.GetValues(dr.ItemArray)
dt.Rows.Add(dr)
Next
DataRow.ItemArrayとDbDataRecord.GetValuesはきちんとプラグインする必要があるようです-そしてコンパイルします...しかし、実行すると、DataRowはSqlDataReaderからの結果ではなくnull値で埋められます。
DbDataRecordのフィールドをループして、次のように1つずつDataRowに挿入できます。
For Each record In New SqlCommand("exec getResults", conn).ExecuteReader
Dim dr As DataRow = dt.NewRow
For fieldLoop = 0 To 9
dr.Item(fieldLoop) = record(fieldLoop)
Next
dt.Rows.Add(dr)
Next
しかし、それは必要ではないようです。私はMSDNがこれに役立つとは思っていません。
それで、私は間違った木を完全に吠えていますか?または、少しエラーが発生した場合、それは何ですか?