Oracle transaction code
from http://okwakatta.net/code/ado19.html
private void button_Click(object sender, EventArgs e) { ExecuteNonQuery("UPDATE bread SET name = 'あんぱん(変更)' WHERE id = '0001'"); } // 参照設定にはOracle.DataAccess.dllを設定します。 // using Oracle.DataAccess.Client; /// <summary> /// SQLを実行します。 /// </summary> /// <param name="sql">実行するSQL文です</param> public void ExecuteNonQuery(string sql) { using (OracleCommand command = new OracleCommand()) { OracleConnection conn = new OracleConnection(); conn.ConnectionString = conn.ConnectionString = @"User Id=test; Password=pass; Data Source=" + "(DESCRIPTION =(ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521))" + "(CONNECT_DATA =(SERVER = DEDICATED)))"; // トランザクションを開始します。 conn.Open(); OracleTransaction transaction = conn.BeginTransaction(IsolationLevel.ReadCommitted); try { command.CommandText = sql; command.Connection = conn; command.Transaction = transaction; command.ExecuteNonQuery(); //トランザクションをコミットします。 transaction.Commit(); } catch (System.Exception) { //トランザクションをロールバックします。 transaction.Rollback(); throw; } finally { conn.Close(); } } }
留言
張貼留言