/// <summary> ///executes multiple SQL statements to implement database transactions. /// </summary> /// <param name= "Sqlstringlist" >(key is an SQL statement, value is the statement's oracleparameter[])</param> /// <returns></returns> Public Static BOOLExecutesqltran (dictionary<string,Object>sqlstringlist) { using(OracleConnection conn =NewOracleConnection (connectionString)) {Conn. Open (); using(OracleTransaction trans =Conn. BeginTransaction ()) {OracleCommand cmd=NewOracleCommand (); Try { //Loops foreach(varMydeinchsqlstringlist) { stringcmdtext=myDE.Key.ToString (); Oracleparameter[] Cmdparms=(oracleparameter[]) Myde.value; PrepareCommand (Cmd,conn,trans,cmdtext, cmdparms); intval =cmd. ExecuteNonQuery (); Cmd. Parameters.clear (); } trans.commit (); return true; } Catch{trans. Rollback (); return false; } } } }
/// <summary> ///Configuring Command objects/// </summary> /// <param name= "cmd" > Command objects </param> /// <param name= "conn" > Connection Objects </param> /// <param name= "trans" > Transaction Objects </param> /// <param name= "cmdtext" >sql statement </param> /// <param name= "cmdparms" > Parameters </param> Private Static voidPrepareCommand (OracleCommand cmd, OracleConnection conn, OracleTransaction trans,stringCmdtext, oracleparameter[] cmdparms) { if(Conn. State! =ConnectionState.Open) Conn. Open (); Cmd. Connection=Conn; Cmd.commandtext=Cmdtext; if(Trans! =NULL) cmd. Transaction=Trans; Cmd.commandtype= CommandType.Text;//Cmdtype; if(Cmdparms! =NULL) { foreach(OracleParameter Parminchcmdparms) cmd. Parameters.Add (Parm); } }
Executes multiple SQL statements to implement database transactions. (Oracle database)