質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.50%
C#

C#はマルチパラダイムプログラミング言語の1つで、命令形・宣言型・関数型・ジェネリック型・コンポーネント指向・オブジェクティブ指向のプログラミング開発すべてに対応しています。

Q&A

0回答

168閲覧

C# Datatable0へ対してDatatable1~5の列データ移動

aopink

総合スコア12

C#

C#はマルチパラダイムプログラミング言語の1つで、命令形・宣言型・関数型・ジェネリック型・コンポーネント指向・オブジェクティブ指向のプログラミング開発すべてに対応しています。

0グッド

1クリップ

投稿2019/05/26 04:58

前提・実現したいこと

visualstudio2017 C#でアプリ作成を行っています。

すでにデータが入っているdatatable1~5の中の指定のカラムから
カラムデータを抜き出し、抜き出したカラムデータを
空のdatatable0の列データとして追加したいのですが、

発生している問題・エラーメッセージ 

エラーメッセージ

該当のソースコード

C#

1public void ConvertSelectDatatableToCSV() 2 { 3 for (int tableCount = 0; tableCount < Form1.dataSet.Tables.Count; tableCount++) 4 { 5 headerTableNum++; 6 for(int checkHeaderCount = 0; checkHeaderCount < Form1.checkData.Count; checkHeaderCount++) 7 { 8 dt.Columns.Add(Form1.checkData[checkHeaderCount]); 9 } 10 11 foreach(DataRow dataRow in Form1.dataSet.Tables[tableCount].Rows) 12 { 13 var r = dt.NewRow(); 14 foreach(DataColumn dataColumn in dt.Columns) 15 { 16 try 17 { 18 r[dataColumn.ColumnName] = dataRow[dataColumn.ColumnName]; 19 } 20 catch { } 21 } 22 dt.Rows.Add(r); 23 } 24 25 for (int i = 0; i < Form1.checkData.Count; i++) 26 { 27 dt.Columns[Form1.checkData[i]].ColumnName = Form1.checkData[i] + headerTableNum; 28 } 29 } 30 }

試したこと

dtへの追加のために、datatebleを比較して、同じ列があったらその列を追加する。
動作を行ったつもりです。

補足情報(FW/ツールのバージョンなど)

ここにより詳細な情報を記載してください。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

退会済みユーザー

退会済みユーザー

2019/05/26 05:43

ひょっとして、わんくま同盟の掲示板とのマルチポスト? 同じ変数名が多々あるのでそう思ったのですが、違ったら失礼しました。
aopink

2019/05/26 06:12

そうです! 社内でのネットワークではわんくま同盟にアクセスがブロックされたため こちらでも投稿させていただきました。
YAmaGNZ

2019/05/26 06:16

それで、何が質問なのでしょうか?
退会済みユーザー

退会済みユーザー

2019/05/26 06:23

質問者さん> マルチポストをキーワードにググってヒットする記事を 2, 3 読んでください。色々意見はあるようですが、決して歓迎されることではありません。わんくまのほうで回答してくれた人に大変失礼ですよ。 あと、ここにもマルチポストに関してルールがあります。守ってください。
Zuishin

2019/05/26 07:35

わんくまがブロックされる意味がわかりませんが、Q&A サイトで質問するなという意味では?
Plan-B.0306

2019/12/09 11:08

>>dtへの追加のために、datatebleを比較して、同じ列があったらその列を追加する ツッコミどころ満載ですが、まずご自分でおっしゃっている、「比較」をしている箇所が見当たりませんが… もしかしてtry〜catchの下りでしょうか? この部分を、ご自分でおっしゃっている「同じ列があったら」と認識されていると仮定して、日本語でこの部分でやっていることを書きますと「今の列名があちらさんにあるかわからんけど、とりあえず放り込んどくか、失敗?なかったら?知らん知らん」と言っています。 で?困っていることは何でしょうか? 1.追加したいのに出来ない 2.アプリが強制的に終わった「ような」動きをする 3.コンパイルが通らない 多分、どれかであると思います。 あと、「そうです!」なんて、大威張りでマルチポストなんて語るものじゃないですよ。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだ回答がついていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.50%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問