|
分類:[ASP.NET (C#)]
こんにちは。いつもお世話になっております。
現在、 開発環境:WindowsXP 使用言語:ASP.NET、C# でデータベース(SQL-SERVER)を使ったシステムを作っております。
そこでAというデータベースにあるデータを取得してきて、Bというデータベースにデータを格納するSQL文を書いているのですが、 DataTable型でデータを取得してきて、Bのデータベースにデータを書き込むときに、ソースの一部になりますが・・・ 下記のようにして、取得してきたデータの中身を確認し、もし中身が無いようなら「NULL」を代入させ、その後SQL文を発行させる ようにしたいのですが、
【ソース】
//取得したデータの中身チェック(なければ、Nullを代入) for(int i=1;i<=7;i++) { if (dt[0][i] == null)← { dt[0][i] = null;← } }
query.AppendFormat("INSERT INTO {0} ", T.ListDetailTable); query.Append("(No, Vno, INo, CD, SCD, "); query.Append("TCD, PCD, LISTCD, FrindCD) "); query.AppendFormat("VALUES ({0}, {1}, {2}, {3}, {4}, {5}, {6}, {7}, {8})", QUERYVARIABLE_NO, vDetail.Vno + 1, vDetail.INo, dt.Rows[0][1], dt.Rows[0][2], dt.Rows[0][3], dt.Rows[0][4], dt.Rows[0][5], dt.Rows[0][6]);
return query.ToString();
上記ソースをビルドしようとすると、
「角かっこ [] 付きインデックスを 'System.Data.DataTable' 型の式に適用することはできません。」
と言われて「←」で書いた部分の所を怒られちゃいます。 この書き方がどこがいけないのか分からず困惑しております。
もし判断するならもっと賢い方法があるのでしょうか? どなたかご教授お手数ではございますが、お願い致します。
|