前提・実現したいこと
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/ツールのバージョンなど)
ここにより詳細な情報を記載してください。
ひょっとして、わんくま同盟の掲示板とのマルチポスト? 同じ変数名が多々あるのでそう思ったのですが、違ったら失礼しました。
そうです!
社内でのネットワークではわんくま同盟にアクセスがブロックされたため
こちらでも投稿させていただきました。
それで、何が質問なのでしょうか?
質問者さん>
マルチポストをキーワードにググってヒットする記事を 2, 3 読んでください。色々意見はあるようですが、決して歓迎されることではありません。わんくまのほうで回答してくれた人に大変失礼ですよ。
あと、ここにもマルチポストに関してルールがあります。守ってください。
わんくまがブロックされる意味がわかりませんが、Q&A サイトで質問するなという意味では?
>>dtへの追加のために、datatebleを比較して、同じ列があったらその列を追加する
ツッコミどころ満載ですが、まずご自分でおっしゃっている、「比較」をしている箇所が見当たりませんが…
もしかしてtry〜catchの下りでしょうか?
この部分を、ご自分でおっしゃっている「同じ列があったら」と認識されていると仮定して、日本語でこの部分でやっていることを書きますと「今の列名があちらさんにあるかわからんけど、とりあえず放り込んどくか、失敗?なかったら?知らん知らん」と言っています。
で?困っていることは何でしょうか?
1.追加したいのに出来ない
2.アプリが強制的に終わった「ような」動きをする
3.コンパイルが通らない
多分、どれかであると思います。
あと、「そうです!」なんて、大威張りでマルチポストなんて語るものじゃないですよ。
あなたの回答
tips
プレビュー