DBにデータをINSERTするサンプルです。
UPDATE文やDELETE文も同様な方法で実行できます。
サンプルではトランザクションも実装しています。SqlParameterにパラメータを渡すことによりSQLインジェクション対策にもなります。
ASPソースコード
UPDATE文やDELETE文も同様な方法で実行できます。
サンプルではトランザクションも実装しています。SqlParameterにパラメータを渡すことによりSQLインジェクション対策にもなります。
ASPソースコード
protected void Button1_Click(object sender, EventArgs e)
{
string cnnStr = ConfigurationManager.ConnectionStrings["TestConnectionString"].ConnectionString;//接続文字列を取得
SqlConnection conn = new SqlConnection(cnnStr);//DBコネクションを作成。
conn.Open();//コネクションを開く。
//SQLクエリを生成。
string query =
" INSERT INTO TestTbl( " +
" value1, " +
" text1, " +
" updateDateTime " +
" ) " +
" VALUES " +
"( " +
" @value1, " +
" @text1, " +
" CONVERT(DATETIME, @updateDateTime) " +
" ) ";
SqlTransaction trn = conn.BeginTransaction();//トランザクション開始
try
{
SqlCommand cmd = new SqlCommand(query, conn,trn);
//パラメータをセットする。
SqlParameter param1 = new SqlParameter("@value1", 123);
cmd.Parameters.Add(param1);
SqlParameter param2 = new SqlParameter("@text1", "neko");
cmd.Parameters.Add(param2);
string dtm = DateTime.Now.ToString();//本日日時
SqlParameter param3 = new SqlParameter("@updateDateTime", dtm);
cmd.Parameters.Add(param3);
//☆SQLクエリを実行。
cmd.ExecuteNonQuery();
}
catch (Exception)
{
trn.Rollback();//ロールバック
throw;
}
finally{
trn.Commit();//コミット
}
conn.Close();//DBコネクションを閉じる。
}