探索条件付きSQL文で更新を行うサンプルコードについて説明します。
本サンプルコードは、UPDATE文実行後、影響を受けた行数をWebページ上に表示します。事前にフォームへラベルコントロール(Label1)を追加してください。
アプリケーションの手順
SymfowareConnectionオブジェクトでコネクションを接続します。詳細は、“A.2.1 接続および切断”を参照してください。
SymfowareCommandオブジェクトを生成します。(CommandTextプロパティへUPDATE文を設定します)
SymfowareCommand.Parameters.AddメソッドでSymfowareParameterオブジェクトの生成と設定を行います。SQL文中のパラメタマーカ('?')の出現順に生成してください。
SymfowareParameter.ParameterNameプロパティには、オブジェクト名を任意で設定します。
SymfowareParameter.Valueプロパティへパラメタの値を設定します。
日時型のパラメタにはSymfowareParameter.SymfowareDbTypeプロパティを設定します。
SymfowareCommand.ExecuteNonQueryメソッドでUPDATE文を実行します。
ExecuteNonQueryメソッドより更新された行数が返されます。
コネクションを切断します。
オブジェクトを破棄します。
エラー処理については、“A.2.8 エラー処理”を参照してください。
try
{
// SymfowareConnectionオブジェクトの生成
SymfowareConnection con = new SymfowareConnection("DATA SOURCE=127.0.0.1;PORT=26551;" +
"INITIAL CATALOG=TEST;USER ID=USER01;PASSWORD=PASS01");
// 1. コネクション接続
con.Open();
// 2. SymfowareCommandオブジェクトの生成
SymfowareCommand com = new SymfowareCommand("UPDATE SAMPLE1.TESTTBL SET DEC_C=?," +
"DAT_C=?,CHA_C = ? WHERE KEY_C = ?", con);
// 3. SymfowareParameterオブジェクトの生成と設定
com.Parameters.Add("DEC_C", 111111.111);
com.Parameters.Add("DAT_C", "2007/04/10");
com.Parameters["DAT_C"].SymfowareDbType = SymfowareDbType.Date;
com.Parameters.Add("CHA_C", "更新データ");
com.Parameters.Add("KEY_C", 100);
// 4. UPDATE文の実行
int i = com.ExecuteNonQuery();
// 更新行数を表示する
Label1.Text = "RowCount<br>" + i + "行更新されました";
// 5. コネクション切断
con.Close();
// 6. オブジェクトの破棄
con.Dispose();
com.Dispose();
}
// エラ-処理
catch (Exception e1)
{
// エラー処理ルーチンを記述
}