以下のソースで、「この行は既に別のテーブルに属しています。」というエラーが出てしまいますが、対処方法がわかりません。
どのようにしたらよろしいでしょうか?
VS2003のVBです。
Dim Table1 As DataTable = Me.DS1.Tables("データベース1")
Dim Table2 As DataTable = Me.DS1.Tables("データベース2")
Dim Row1 As DataRow
Dim Row2 As DataRow
Row1("データ1") = 1
Row1("データ2") = 2
Row1("データ3") = 3
Row2("データ1") = 2
Row2("データ2") = 3
Row2("データ3") = 4
Table2.Rows.Add(Row2) ←ここでエラー
Table1.Rows.Add(Row1)
'System.ArgumentException' のハンドルされていない例外が system.windows.forms.dll で発生しました。
追加情報 : この行は既に別のテーブルに属しています。
No.2ベストアンサー
- 回答日時:
お世話になります。
> Dim Row1 As DataRow
> Row1("データ1") = 1
これは、実行時に例外(NullReferenceException)が発生するはずです。
> Row1("データ1") = 1
こちらを実行する前に、
Row2 = Table1.Rows(0) とか
Row2 = Table1.NewRow とかやってると仮定して、
2 つの DataTable のレイアウトが全く同じならば
DataTable.ImportRow メソッド
を使われてはいかがでしょうか。
Dim dt As DataTable = New DataTable
dt.Columns.Add("Field1", GetType(String))
dt.Columns.Add("Field2", GetType(String))
dt.Columns.Add("Field3", GetType(String))
dt.Rows.Add(New String() {"りんご", "みかん", "ばなな"})
dt.Rows.Add(New String() {"おかし", "ごはん", "おちゃ"})
Dim copyToDt As DataTable = dt.Clone()
For Each row As DataRow In dt.Rows
If Convert.ToString(row("Field1")) = "おかし" Then
copyToDt.ImportRow(row)
End If
Next
参考URL:http://msdn.microsoft.com/library/ja/default.asp …
No.1
- 回答日時:
検証環境:WinXP SP2 VisualStudio.NET 2002
同じコードでやったのですが、ymdaさんと違うところでエラーが出ました。
で、エラーを解除するために以下のコードを追加しました。
・・・・・・・・
Dim Row2 As DataRow
--------------------------------------
Row1 = Table1.NewRow() ここです
Row2 = Table2.NewRow()
--------------------------------------
Row1("データ1") = 1
Row1("データ2") = 2
・・・・・・・・・
これで、エラーは無くて動作します。
同じ環境ではないので、なんともいえませんが、よろしければ試してみてください。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
-
家の中でのこだわりスペースはどこですか?
自分の家で快適に過ごすために工夫しているスペースはありますか? 例)ベランダでお茶を飲むためのカフェテーブル ゲーミングに特化したこだわりのPCスペース
-
チョコミントアイス
得意ですか?不得意ですか?できれば理由も教えてください。
-
ホテルを選ぶとき、これだけは譲れない条件TOP3は?
ホテルを探す時、予約サイトで希望条件の絞り込みができる便利な世の中。 あなたは宿泊先を決めるとき「これだけは譲れない」と思う条件TOP3を教えてください。
-
昨日見た夢を教えて下さい
たまにすごいドラマチックな夢見ること、ありませんか? 起きてからも妙に記憶に残っているような、そんな夢。
-
高校三年生の合唱祭で何を歌いましたか?
大人になると大人数で合唱する機会ってないですよね。 思い出すと、高校三年生の合唱祭が最後でした。 そこで、みんなの思い出の合唱曲を知りたい!
-
VB.NETで DataRow()を利用して、値からコードを取得したい。
Visual Basic(VBA)
-
「指定されたキャストは有効ではありません。」とエラーが出てしまいます。
Microsoft ASP
-
データグリッドビューの一番最初の行に列を追加したい
Visual Basic(VBA)
-
-
4
DataTableから条件を満たした行を別のDatatableへコピーしたい
その他(プログラミング・Web制作)
-
5
DataGridViewの各セル幅を自由に決め、その幅で固定したい
Visual Basic(VBA)
-
6
VB.NETでコンボボックスの1行目を空白にしたい
Visual Basic(VBA)
-
7
String"から型'Double'への変換は無効です。 とエラーが出ます。
Visual Basic(VBA)
-
8
VB.NETで小数点以下の桁数を取得したい
その他(ソフトウェア)
-
9
[VB.net] DataGridViewの列ヘッダー複数行表示に伴う不具合?について
Visual Basic(VBA)
-
10
CASE文のエラーについて
Oracle
-
11
FriendとPublicの違い。。。
Visual Basic(VBA)
-
12
Datatableへの代入
その他(プログラミング・Web制作)
-
13
Integer変数をカラにしたいのですが
Visual Basic(VBA)
-
14
【VB】コンボボックスにデータベースから取り出した値を入れたい
Visual Basic(VBA)
-
15
VB.NET DataGridView 縦スクロールバーを常に表示
Visual Basic(VBA)
-
16
VB.NET getとsetの概念がわかりません。
Visual Basic(VBA)
-
17
CellEnterイベント仕様について
Visual Basic(VBA)
-
18
VB.net データーグリッドビューで余白を無くし
Visual Basic(VBA)
-
19
VB.NETで、配列をテーブルに変換して表示する。
Visual Basic(VBA)
-
20
C# try-catch でcatchに飛ばす方法
C言語・C++・C#
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・一回も披露したことのない豆知識
- ・これ何て呼びますか
- ・チョコミントアイス
- ・初めて自分の家と他人の家が違う、と意識した時
- ・「これはヤバかったな」という遅刻エピソード
- ・これ何て呼びますか Part2
- ・許せない心理テスト
- ・この人頭いいなと思ったエピソード
- ・牛、豚、鶏、どれか一つ食べられなくなるとしたら?
- ・あなたの習慣について教えてください!!
- ・ハマっている「お菓子」を教えて!
- ・高校三年生の合唱祭で何を歌いましたか?
- ・【大喜利】【投稿~11/1】 存在しそうで存在しないモノマネ芸人の名前を教えてください
- ・好きなおでんの具材ドラフト会議しましょう
- ・餃子を食べるとき、何をつけますか?
- ・あなたの「必」の書き順を教えてください
- ・ギリギリ行けるお一人様のライン
- ・10代と話して驚いたこと
- ・家の中でのこだわりスペースはどこですか?
- ・つい集めてしまうものはなんですか?
- ・自分のセンスや笑いの好みに影響を受けた作品を教えて
- ・【お題】引っかけ問題(締め切り10月27日(日)23時)
- ・大人になっても苦手な食べ物、ありますか?
- ・14歳の自分に衝撃の事実を告げてください
- ・架空の映画のネタバレレビュー
- ・「お昼の放送」の思い出
- ・昨日見た夢を教えて下さい
- ・ちょっと先の未来クイズ第4問
- ・【大喜利】【投稿~10/21(月)】買ったばかりの自転車を分解してひと言
- ・メモのコツを教えてください!
- ・CDの保有枚数を教えてください
- ・ホテルを選ぶとき、これだけは譲れない条件TOP3は?
- ・家・車以外で、人生で一番奮発した買い物
- ・人生最悪の忘れ物
- ・【コナン30周年】嘘でしょ!?と思った○○周年を教えて【ハルヒ20周年】
- ・10秒目をつむったら…
- ・人生のプチ美学を教えてください!!
- ・あなたの習慣について教えてください!!
- ・都道府県穴埋めゲーム
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
教えて下さい
-
配列でデータが入っている要素...
-
【エクセル】測定時間がバラバ...
-
メモ帳(テキストデータ)をExc...
-
EXCELVBAでSQLserverからデータ...
-
VBA 空白セルを削除ではない方...
-
ACCESS VBA インデックスが有効...
-
GridViewの行の一部を複数行にする
-
C# ソケット通信でデータ受信時...
-
ACCESSからEXCELに出力する際、...
-
S9タイプからXタイプにデータ...
-
<VB>String→Object
-
Setステートメントをまとめて記...
-
バーコードリーダーの読込デー...
-
csvファイルに複数行あるデ...
-
エクセルで2つの時系列のデー...
-
VBA 判定文で理解できない結果...
-
VBにおいてフォーム間の変数の...
-
不規則なデータのfft処理
-
Accessで該当データにフラグを...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
教えて下さい
-
【エクセル】測定時間がバラバ...
-
配列でデータが入っている要素...
-
メモ帳(テキストデータ)をExc...
-
VBA 空白セルを削除ではない方...
-
カンマからスラッシュに
-
VBA 円グラフ 特定条件に一致し...
-
特定のデータの抽出方法を教え...
-
EXCELVBAでSQLserverからデータ...
-
CString型の文字列連結について
-
[C言語] コメント文字列を無視...
-
エクセルで2つの時系列のデー...
-
多量のSUMIF式を軽くしたい
-
この行は既に別のテーブルに属...
-
ACCESSからEXCELに出力する際、...
-
Accessで該当データにフラグを...
-
ユーザーフォームのテキストボ...
-
モジュラス103の算出方法について
-
S9タイプからXタイプにデータ...
-
ブレーカー落ちで壊れたりしな...
おすすめ情報