DOBON.NETプログラミング掲示板過去ログ
型付データテーブルの行内容更新について
題名: 型付データテーブルの行内容更新について
著者: じゅで
日時: 2007/07/23 9:41:40
ID: 20111
この記事の返信元:
(なし)
この記事への返信:
[20112]
Re[1]: 型付データテーブルの行内容更新について
じゅで
2007/07/23 12:00:54
[解決]
ツリーを表示
環境/言語:[Windows XP / C# 2005 VB.net 2005 ]
分類:[.NET]
2007/07/23(Mon) 10:15:02 編集(投稿者)
じゅでです。
いつもこちらの掲示板には、お世話になっております。
今回の質問は、題名のとおり、型付データテーブルにて、行内容を更新する際の
方法についてです。
普通にDataTableならLoad、LoadDataRowなどでいけるのですが、
xsdファイルから、作成される、DataSetを継承したクラスを使用して、
型付データテーブルを宣言しても、メソッドは見つかるのですが、
プライマリーキーが設定されていないなどで、新規に行が追加されてしまいます。
出来ればこんな感じになるとうれしいのですが。
public void サンプルメソッド(ref 型付データテーブル dt)
{
foreach(型付データRow dr in dt)
{
dr.hoge = "ほげ";
dt.LoadDataRow(dr); }
}
どなたか、型付データテーブルについてご存知の方がいらっしゃいましたら、
よろしくお願いいたします。
っというかファイルから読込んだデータをDataTableにつっこんで、更新処理を
行うってのはうまいやりかたなのでしょうか?
DataTableもDataRowも使った事が無いのでいまいちよくわかっておりません。
以上
題名: Re[1]: 型付データテーブルの行内容更新について
著者: じゅで
日時: 2007/07/23 12:00:54
ID: 20112
この記事の返信元:
[20111]
型付データテーブルの行内容更新について
じゅで
2007/07/23 9:41:40
この記事への返信:
(なし)
ツリーを表示
申し訳ありません。
自己解決しました。
private void button1_Click(object sender, EventArgs e)
{
DataTable dt = CreateDataTable();
DataRow dr1 = dt.NewRow();
dr1[0] = "0001";
dr1[1] = "hoge1";
dt.Rows.Add(dr1);
DataRow dr2 = dt.NewRow();
dr2[0] = "0002";
dr2[1] = "hoge2";
dt.Rows.Add(dr2);
foreach (DataRow dr in dt.Rows)
{
Console.WriteLine(dr[0] + " / " + dr[1]);
}
foreach (DataRow dr in dt.Rows)
{
dr[0] = "0003";
dr[1] = "hoge3";
}
foreach (DataRow dr in dt.Rows)
{
Console.WriteLine(dr[0] + " / " + dr[1]);
}
}
private DataTable CreateDataTable()
{
DataTable dt = new DataTable("hoge");
DataColumn dcCode = new DataColumn("Code", typeof(string));
DataColumn dcName = new DataColumn("Name", typeof(string));
dt.Columns.Add(dcCode);
dt.Columns.Add(dcName);
return dt;
}
これで更新が出来たのですね。
てっきりLoadやらLoadDataRowやらを使用するのかと思いきや、
これだけでDataTableの更新が行えたのですね。
まったく知りませんでした。
ご迷惑をおかけしました。
LoadとLoadDataRowについてはいまいちまだ使い方がわかっていないですが。
それについては、今後調べてみます。
お騒がせして申し訳ありませんでした。
以上
解決済み!
DOBON.NET
|
プログラミング道
|
プログラミング掲示板
分類:[.NET]
2007/07/23(Mon) 10:15:02 編集(投稿者)
じゅでです。
いつもこちらの掲示板には、お世話になっております。
今回の質問は、題名のとおり、型付データテーブルにて、行内容を更新する際の
方法についてです。
普通にDataTableならLoad、LoadDataRowなどでいけるのですが、
xsdファイルから、作成される、DataSetを継承したクラスを使用して、
型付データテーブルを宣言しても、メソッドは見つかるのですが、
プライマリーキーが設定されていないなどで、新規に行が追加されてしまいます。
出来ればこんな感じになるとうれしいのですが。
public void サンプルメソッド(ref 型付データテーブル dt)
{
foreach(型付データRow dr in dt)
{
dr.hoge = "ほげ";
dt.LoadDataRow(dr); }
}
どなたか、型付データテーブルについてご存知の方がいらっしゃいましたら、
よろしくお願いいたします。
っというかファイルから読込んだデータをDataTableにつっこんで、更新処理を
行うってのはうまいやりかたなのでしょうか?
DataTableもDataRowも使った事が無いのでいまいちよくわかっておりません。
以上