- - PR -
SqlDataAdapterについて
1
投稿者 | 投稿内容 |
---|---|
|
投稿日時: 2009-01-19 11:25
いつも参考にさせてもらってます。
SqlDataAdapter、DataSetを使ってのデータベース更新について教えて下さい。 ■開発言語 C#2005 ■データベース SQL Server 顧客データ(テキスト)がありそのデータから3つのテーブルにデータを保存する部分を作成しています。 現在、複数テーブルをそれぞれSqlDataAdapterを使ってFillでデータをDataSetにしています。 ------------------------------------------------------------- SqlDataAdapter da = new SqlDataAdapter(selectStr, connStr); DataSet ds = new DataSet(); da.Fill(ds, "顧客情報"); DataTable dt = ds.Tables["顧客情報"]; DataRow newRow = dt.NewRow(); SqlDataAdapter da2 = new SqlDataAdapter(selectStr2, connStr); DataSet ds2 = new DataSet(); da2.Fill(ds, "商品情報"); DataTable dt2 = ds.Tables["商品情報"]; DataRow newRow2 = dt2.NewRow(); SqlDataAdapter da3 = new SqlDataAdapter(selectStr3, connStr); DataSet ds3 = new DataSet(); da3.Fill(ds, "商品情報2"); DataTable dt3 = ds.Tables["商品情報2"]; DataRow newRow3 = dt3.NewRow(); ArrayList al = new ArrayList(); using (StreamReader sr = new StreamReader("D:\\Text.txt", Encoding.GetEncoding("Shift_JIS"))) { while ((line = sr.ReadLine()) != null) { al.Add(line); } for (int i = 1; i < 10; i++) { strText = al[i].ToString(); newRow[j] = strText; j = j + 1; } dt.Rows.Add(newRow); //SqlCommandBuilder cb = new SqlCommandBuilder(da); da.Update(ds, "顧客情報"); ※da2(商品情報)、da3(商品情報2)についても同じように処理しています ------------------------------------------------------------------- このようにそれぞれテーブルをセットしています。 これで出来なくはないのですが、もう少しスマートな方法で出来ないのでしょうか? TableMappingsを使えばできそうなのですが・・。 まだまだ勉強不足で理解できていないのです。 皆様の知識を貸してください。 宜しくお願い致します。 _________________ |
1