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

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

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

ItemArrayの使い方について

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

■90775 / inTopicNo.1)  ItemArrayの使い方について
  
□投稿者/ TanuTanu (28回)-(2019/04/19(Fri) 16:26:45)

分類:[VB.NET/VB2005 以降] 

お世話になります。

ItemArrayでエラーになり困っております。
ご教授の程、宜しくお願いいたします。


Dim tbl As DataTable = New DataTable("table1")
Dim dr As DataRow
dr = tbl.NewRow

Dim FoundRows1() As DataRow = DT.Select("TEST = 'AAA'")

dr.ItemArray = FoundRows1(0).ItemArray ・・・例外がスローされました: 'System.ArgumentException' (System.Data.dll の中)


環境:VS2017、Win7
質問者:初心者


引用返信 編集キー/
■90776 / inTopicNo.2)  Re[1]: ItemArrayの使い方について
□投稿者/ Hongliang (784回)-(2019/04/19(Fri) 16:43:25)
2019/04/19(Fri) 16:44:47 編集(投稿者)

> dr.ItemArray = FoundRows1(0).ItemArray ・・・例外がスローされました: 'System.ArgumentException' (System.Data.dll の中)

この後ろにメッセージが続いていませんか?
「入力配列がこのテーブルの列数より長い値です。」とか。

提示されているコードだけだと、tblに列を定義していないのでdr.ItemArrayに代入できるのは長さ0の配列だけになりますが。

<追記>
tblがDTと同じ構造であるのであれば、New DataTableの代わりに、
Dim tbl As DataTable = DT.Clone()
とすることで列定義などをそのままコピーできます。
引用返信 編集キー/
■90777 / inTopicNo.3)  Re[1]: ItemArrayの使い方について
□投稿者/ shu (1177回)-(2019/04/19(Fri) 16:44:30)
No90775 (TanuTanu さん) に返信
> お世話になります。
>
> ItemArrayでエラーになり困っております。
> ご教授の程、宜しくお願いいたします。
>
>
> Dim tbl As DataTable = New DataTable("table1")
> Dim dr As DataRow
> dr = tbl.NewRow
>
> Dim FoundRows1() As DataRow = DT.Select("TEST = 'AAA'")
>
> dr.ItemArray = FoundRows1(0).ItemArray ・・・例外がスローされました: 'System.ArgumentException' (System.Data.dll の中)
>
>

Dim FoundRows1() As DataRow = DT.Select("TEST = 'AAA'")
tbl.ImportRow(FoundRows1(0))

でどうでしょう?

引用返信 編集キー/
■90778 / inTopicNo.4)  Re[1]: ItemArrayの使い方について
□投稿者/ WebSurfer (1808回)-(2019/04/19(Fri) 16:45:31)
No90775 (TanuTanu さん) に返信

局所的な問題の話だけでなく、全体的にどういうことがしたいの書いてもらえませんか?

XY 問題のような気がしますので。
引用返信 編集キー/
■90779 / inTopicNo.5)  Re[2]: ItemArrayの使い方について
□投稿者/ TanuTanu (29回)-(2019/04/19(Fri) 17:31:09)
Hongliang 様
shu 様
WebSurfer 様

ありがとうございます。
下記でいけました^^

Dim tbl As DataTable = DT.Clone()



解決済み
引用返信 編集キー/

このトピックをツリーで一括表示


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

このトピックに書きこむ