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

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

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

Re[1]: データテーブルの読み込みを1列ずつ処理したいです。


(過去ログ 174 を表示中)

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

■99855 / inTopicNo.1)  データテーブルの読み込みを1列ずつ処理したいです。
  
□投稿者/ 女子 (1回)-(2022/06/13(Mon) 15:24:05)

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

初めて質問させていただきます。
使用しているバージョンはVisual Studio2022です

やりたいことは、
すでにあるデータテーブルからもう一つのデータテーブルにコピーをする。
なんですが、その過程で、コピーする際に一度にすべてのデータを処理するのでなく、
読み込む列を指定して、その行を先頭から1行ずつコピーしていきたいです。
指定した行のコピーが終了したら、別の行を指定し、同じ処理をしていきたいです。

'For Each dt1row As DataRow In dt1.Rows
' dt2.ImportRow(dt1row)
'Next

現状のコードです。
このコードでは、一行ごとに読み込んでいるため、
現状私が行いたい、一列ずつというところが達成できていないため、修正したいです。

宜しくお願いいたします。
引用返信 編集キー/
■99857 / inTopicNo.2)  Re[1]: データテーブルの読み込みを1列ずつ処理したいです。
□投稿者/ radian (44回)-(2022/06/13(Mon) 15:56:19)
dt1とdt2、二つのDataTableがあって、dt1から特定の列だけdt2にコピーしたいということでしょうか?
行数は同じで、両方先頭から順にコピーすればいいだけという前提なら、
単純にFor文でループ回して代入すれば良いような気はしますが。

For y = 0 To dt1.Rows.Count - 1
    Dim row1 = dt1(y)
    Dim row2 = dt2(y)
    row2("ColName") = row1("ColName")
Next

引用返信 編集キー/
■99858 / inTopicNo.3)  Re[2]: データテーブルの読み込みを1列ずつ処理したいです。
□投稿者/ 女子 (3回)-(2022/06/13(Mon) 16:14:59)
回答ありがとうございます。
やりたいことはradian様のおっしゃる事と相違ないです。
しかし、ColNameのこちらのこちらのカラム名に当てはまるものを入力しても、エラーになってしまいます。


No99857 (radian さん) に返信
> dt1とdt2、二つのDataTableがあって、dt1から特定の列だけdt2にコピーしたいということでしょうか?
> 行数は同じで、両方先頭から順にコピーすればいいだけという前提なら、
> 単純にFor文でループ回して代入すれば良いような気はしますが。
>
> For y = 0 To dt1.Rows.Count - 1
> Dim row1 = dt1(y)
> Dim row2 = dt2(y)
> row2("ColName") = row1("ColName")
> Next
引用返信 編集キー/
■99859 / inTopicNo.4)  Re[3]: データテーブルの読み込みを1列ずつ処理したいです。
□投稿者/ radian (45回)-(2022/06/13(Mon) 16:26:53)
2022/06/13(Mon) 16:30:22 編集(投稿者)

No99858 (女子 さん) に返信
> 回答ありがとうございます。
> やりたいことはradian様のおっしゃる事と相違ないです。
> しかし、ColNameのこちらのこちらのカラム名に当てはまるものを入力しても、エラーになってしまいます。

エラーだけでは判りませんので、エラーが発生した場合はその内容をそのまま貼ってください。
(「詳細のコピー」でクリップボードにコピーされる筈)
恐らくコピー先に存在しない列をコピーしようとした為だと思いますが。
列が無い場合は、事前にColumns.Addで追加しておく必要があるでしょう。
引用返信 編集キー/
■99860 / inTopicNo.5)  Re[4]: データテーブルの読み込みを1列ずつ処理したいです。
□投稿者/ 女子 (4回)-(2022/06/13(Mon) 16:36:44)
forのなかでdt2.Rows.Add()で行を追加したらエラーが解消し、目標達成しました。

ありがとうございました。
次回質問させていただくときには、エラー内容も記載させていただきます。

No99859 (radian さん) に返信
> 2022/06/13(Mon) 16:30:22 編集(投稿者)
>
> ■No99858 (女子 さん) に返信
>>回答ありがとうございます。
>>やりたいことはradian様のおっしゃる事と相違ないです。
>>しかし、ColNameのこちらのこちらのカラム名に当てはまるものを入力しても、エラーになってしまいます。
>
> エラーだけでは判りませんので、エラーが発生した場合はその内容をそのまま貼ってください。
> (「詳細のコピー」でクリップボードにコピーされる筈)
> 恐らくコピー先に存在しない列をコピーしようとした為だと思いますが。
> 列が無い場合は、事前にColumns.Addで追加しておく必要があるでしょう。
引用返信 編集キー/
■99862 / inTopicNo.6)  Re[5]: データテーブルの読み込みを1列ずつ処理したいです。
□投稿者/ radian (46回)-(2022/06/13(Mon) 16:40:18)
2022/07/07(Thu) 09:51:07 編集(投稿者)

もし解決されたのであれば、質問欄下部の「解決済み」の所にチェックを入れて送信し、
質問を解決済みにしておいてください。
引用返信 編集キー/
■99863 / inTopicNo.7)  Re[1]: データテーブルの読み込みを1列ずつ処理したいです。
□投稿者/ WebSurfer (2494回)-(2022/06/13(Mon) 17:05:50)
No99855 (女子 さん) に返信

マルチポストかな?

https://teratail.com/questions/67c2ylri01wlw7
引用返信 編集キー/
■100149 / inTopicNo.8)  Re[6]: データテーブルの読み込みを1列ずつ処理したいです。
□投稿者/ radian (66回)-(2022/07/07(Thu) 09:51:42)
もう解決してそうなので、解決済みにしておきます。
解決済み
引用返信 編集キー/


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

このトピックに書きこむ

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

管理者用

- Child Tree -