Ejemplo n.º 1
1
        protected void btnGo_Click(object sender, EventArgs e)
        {
            System.Data.OleDb.OleDbConnection conn = new System.Data.OleDb.OleDbConnection();
            string sql = "";
            System.Data.DataSet ds = new System.Data.DataSet();
            System.Data.OleDb.OleDbDataReader dr;
            System.Data.OleDb.OleDbCommand comm = new System.Data.OleDb.OleDbCommand();
            //http://www.c-sharpcorner.com/UploadFile/dchoksi/transaction02132007020042AM/transaction.aspx
            //get this from connectionstrings.com/access
            conn.ConnectionString = txtConnString.Text;
            conn.Open();
            //here I can talk to my db...
            System.Data.OleDb.OleDbTransaction Trans;
            Trans = conn.BeginTransaction(System.Data.IsolationLevel.Chaos);

            try
            {

                comm.Connection = conn;
                comm.Transaction = Trans;
               // Trans.Begin();

                //Console.WriteLine(conn.State);
                sql = txtSQL.Text;
                comm.CommandText = sql;
                if (sql.ToLower().IndexOf("select") == 0)
                {
                    dr = comm.ExecuteReader();
                    while (dr.Read())
                    {
                        txtresults.Text = dr.GetValue(0).ToString();
                    }
                }
                else
                {
                    txtresults.Text = comm.ExecuteNonQuery().ToString();
                }
                Trans.Commit();
            }
            catch (Exception ex)
            {
                txtresults.Text = ex.Message;
                Trans.Rollback();
            }
            finally
            {

                comm.Dispose();
                conn.Close();
                conn = null;
            }
        }
Ejemplo n.º 2
0
 public void SetAutoCommit(System.Data.OleDb.OleDbConnection connection, bool boolean)
 {
     if (this[connection] != null)
     {
         ConnectionProperties Properties = ((ConnectionProperties)this[connection]);
         Properties.AutoCommit = boolean;
         if (!boolean)
         {
             System.Data.OleDb.OleDbTransaction transaction = Properties.Transaction;
             if (Properties.TransactionLevel == 0)
             {
                 transaction = connection.BeginTransaction();
             }
             else
             {
                 transaction = connection.BeginTransaction(Properties.TransactionLevel);
             }
         }
     }
     else
     {
         ConnectionProperties TempProp = new ConnectionProperties();
         TempProp.AutoCommit       = boolean;
         TempProp.TransactionLevel = 0;
         if (boolean)
         {
             TempProp.Transaction = connection.BeginTransaction();
         }
         Add(connection, TempProp);
     }
 }
Ejemplo n.º 3
0
        static void RunTransaction(System.Data.OleDb.OleDbConnection cn, bool hasError)
        {
            using (var tr = cn.BeginTransaction())
            {
                try
                {
                    Insert(cn, tr);

                    if (hasError)
                    {
                        throw new Exception();
                    }

                    Update(cn, tr);

                    tr.Commit();
                    Console.WriteLine("Commit");
                }
                catch (Exception e)
                {
                    Console.WriteLine(e.ToString());
                    tr.Rollback();
                    Console.WriteLine("Rollback");
                }

                Console.WriteLine("End Transaction");
            }
        }
Ejemplo n.º 4
0
 protected override void DataAdapterUpdate(System.Data.DataSet tabela, string strNomeTabela)
 {
     if (m_bUserCanUpdateDB)
     {
         OpenConnection();
         if (m_Connection.State == System.Data.ConnectionState.Open)
         {
             if (tabela.GetChanges() != null)
             {
                 m_Transaction = m_Connection.BeginTransaction();
                 m_CommandSelect.Transaction = m_Transaction;
                 try
                 {
                     m_DataAdapter.Update(tabela, strNomeTabela);
                     m_Transaction.Commit();
                     DataPersist = false;
                 }
                 catch (System.Exception eEcp)
                 {
                     m_excError        = eEcp;
                     m_excError.Source = strNomeTabela;
                     m_Transaction.Rollback();
                     ShowDialogUpdateError(strNomeTabela);
                 }
             }
         }
         CloseConnection();
     }
 }
Ejemplo n.º 5
0
        private void button1_Click(object sender, EventArgs e)
        {
            var cn = new System.Data.OleDb.OleDbConnection(
                "Provider=Microsoft.ACE.OLEDB.12.0;"
                + "Data Source=C:\\C#2017\\SampleDB.accdb;");

            //DBに接続してトランザクションを開始、適用する
            cn.Open();
            var cmd = new System.Data.OleDb.OleDbCommand(
                "INSERT INTO 社員 VALUES(100101, '井ノ上真央', 'B-001')", cn);
            var tr = cn.BeginTransaction();     //トランザクションを開始

            cmd.Transaction = tr;               //トランザクションを適用

            //DBを更新し、トランザクションを確定または中止する
            try
            {
                cmd.ExecuteNonQuery();
                tr.Commit();
                MessageBox.Show("終了しました。", "通知");
            }
            catch (Exception ex)
            {
                tr.Rollback();
                MessageBox.Show(ex.Message, "エラー");
                MessageBox.Show("ロールバックしました。", "通知");
            }
            cn.Close();
        }
Ejemplo n.º 6
0
        public static void  DBLogOut(UpdateLog[] logDatas)
        {
            if (System.Configuration.ConfigurationSettings.AppSettings["ConnectionString"] == null)
            {
                return;
            }
            string connString = System.Configuration.ConfigurationSettings.AppSettings["ConnectionString"].Trim();

            connString = BenQGuru.eMES.Common.Helper.EncryptionHelper.DESDecryption(connString);
            System.Data.OleDb.OleDbConnection  conn  = new System.Data.OleDb.OleDbConnection(connString);
            System.Data.OleDb.OleDbTransaction trans = null;
            try
            {
                conn.Open();

                System.Data.OleDb.OleDbCommand comm = conn.CreateCommand();

                trans            = conn.BeginTransaction();
                comm.Transaction = trans;
                foreach (UpdateLog log in logDatas)
                {
                    string updateSQL = "INSERT INTO TBLUPDATELOG "
                                       + " (UPDATELOGID,FILENAME,VERSION,MACHINENAME,MACHINEIP,UPDATETIME,RESULT)"
                                       + " values ('" + log.PKID + "'"
                                       + " ,'" + log.FileName + "'"
                                       + " ,'" + log.Version + "'"
                                       + " ,'" + log.MachineName + "'"
                                       + " ,'" + log.MachineIP + "'"
                                       + " ,'" + log.UpdateTime + "'"
                                       + " ,'" + log.Result + "')";

                    comm.CommandText = updateSQL;
                    comm.CommandType = System.Data.CommandType.Text;
                    comm.ExecuteNonQuery();
                }
                trans.Commit();
            }
            catch (Exception ex)
            {
                if (trans != null)
                {
                    trans.Rollback();
                }
            }
            finally
            {
                conn.Close();
            }
        }
Ejemplo n.º 7
0
        private void button1_Click(object sender, EventArgs e)
        {
            var cn = new System.Data.OleDb.OleDbConnection(
                "Provider=Microsoft.ACE.OLEDB.12.0;"
                + "Data Source=C:\\C#2017\\SampleDB.accdb;");

            //DBに接続してトランザクションを開始する
            cn.Open();
            var tr = cn.BeginTransaction();

            MessageBox.Show("トランザクションを開始しました。", "通知");
            //トランザクションを終了して接続を閉じる
            tr.Commit();
            MessageBox.Show("トランザクションを終了しました。", "通知");
            cn.Close();
        }
Ejemplo n.º 8
0
 public static void EmpezarTransaccion()
 {
     Conectar();
     if (transaccion != null)
     {
         return;
     }
     try
     {
         transaccion = cnx.BeginTransaction();
     }
     catch (System.Exception ex)
     {
         transaccion = null;
         throw new System.Exception("Conexion: Error al empezar la transacci�n.", ex);
     }
 }
Ejemplo n.º 9
0
        private void button1_Click(object sender, EventArgs e)
        {
            var cn = new System.Data.OleDb.OleDbConnection(
                "Provider=Microsoft.ACE.OLEDB.12.0;"
                + "Data Source=C:\\C#2018\\SampleDB.accdb;");

            //DBに接続してトランザクションを開始する
            cn.Open();
            var cmd = cn.CreateCommand();
            var tr  = cn.BeginTransaction();

            //トランザクションを適用し、レコードを追加する
            cmd.Connection  = cn;
            cmd.Transaction = tr;
            cmd.CommandText =
                "INSERT INTO 社員 VALUES(100101, '井ノ上真央', 'B-001')";
            cmd.ExecuteNonQuery();            //レコードを追加

            //トランザクションを確定して接続を閉じる
            tr.Commit();
            MessageBox.Show("処理を終了しました。", "通知");
            cn.Close();
        }