/// <summary> /// Rebuild the index from scratch /// </summary> /// <param name="baseDir">the root from which to list files from</param> /// <returns></returns> public bool RefreshIndex(String baseDir) { Console.WriteLine("Refreshing index"); List <MyFile> fileList = Common.GetFilesRecursive(baseDir); DbTransaction transaction = dbConnection.BeginTransaction(); DbCommand clearCommand = dbConnection.CreateCommand(); clearCommand.CommandText = "delete from files"; clearCommand.ExecuteNonQuery(); foreach (MyFile file in fileList) { paramPath.Value = file.name; paramType.Value = file.type.ToString(); // to ensure it is stored as a char/string instead of a numeric value paramModtime.Value = file.modtime; paramSize.Value = file.size; paramChecksum.Value = file.checksum; commandInsertOrIgnore.ExecuteNonQuery(); } transaction.Commit(); return(true); }
protected void BeginTransaction() { ValidateConnection(); m_oTransaction = m_oConnection.BeginTransaction(); m_oCommand.Transaction = m_oTransaction; return; }
//--------------------------------------------------------------------------------------------------------------------------------------------------------- public void BeginTransaction() { ValidateConnection(); dbTransaction = dbConnection.BeginTransaction(); dbCommand.Transaction = dbTransaction; // return; }
/// <summary> /// Adds a long term login entry /// </summary> /// <returns>An awaitable task.</returns> /// <param name="record">The record to add.</param> public virtual Task AddOrUpdateLongTermLoginAsync(LongTermToken record) { return(m_lock.LockedAsync(() => { using (var con = new TransactionConnection(m_connection, m_connection.BeginTransaction())) { con.Delete <LongTermToken>(x => x.Series == record.Series); con.InsertItem(record); con.Commit(); } })); }
/// <summary> /// 执行多条SQL语句,实现数据库事务。 /// </summary> /// <param name="SQLStringList">多条SQL语句</param> public void ExecuteSqlTran(Dictionary <string, IDataParameter[]> pList, string strConnect, string dataType) { using (System.Data.IDbConnection iConn = this.GetConnection()) { //iConn.Open(); using (System.Data.IDbCommand iCmd = GetCommand()) { iCmd.Connection = iConn; iConn.Open(); using (System.Data.IDbTransaction iDbTran = iConn.BeginTransaction()) { iCmd.Transaction = iDbTran; try { foreach (var item in pList) { iCmd.CommandText = item.Key; if (item.Value != null) { for (int i = 0; i < item.Value.Length; i++) { iCmd.Parameters.Add(item.Value[i]); } } try { var cnt = iCmd.ExecuteNonQuery(); } catch (Exception ex) { throw; } iCmd.Parameters.Clear(); } iDbTran.Commit(); } catch (System.Exception E) { iDbTran.Rollback(); throw new Exception(E.Message); } finally { if (iConn.State != ConnectionState.Closed) { iConn.Close(); } } } } } }
/**/ /// <summary> /// 执行SQL语句,返回影响的记录数 、用于增删改 /// </summary> /// <param name="SQLString">SQL语句</param> /// <returns>影响的记录数</returns> public int ExecuteSql(string SqlString) { using (System.Data.IDbConnection iConn = this.GetConnection()) { using (System.Data.IDbCommand iCmd = GetCommand(SqlString, iConn)) { iConn.Open(); try { int rows = iCmd.ExecuteNonQuery(); return(rows); } catch (System.Exception E) { throw new Exception(E.Message); } finally { if (iConn.State != ConnectionState.Closed) { iConn.Close(); } } } } } /**/ /// <summary> /// 执行多条SQL语句,实现数据库事务。 /// </summary> /// <param name="SQLStringList">多条SQL语句</param> public int ExecuteSqlTran(ArrayList SQLStringList) { int i = 1; using (System.Data.IDbConnection iConn = this.GetConnection()) { iConn.Open(); using (System.Data.IDbCommand iCmd = GetCommand()) { iCmd.Connection = iConn; using (System.Data.IDbTransaction iDbTran = iConn.BeginTransaction()) { iCmd.Transaction = iDbTran; try { for (int n = 0; n < SQLStringList.Count; n++) { string strsql = SQLStringList[n].ToString(); if (strsql.Trim().Length > 1) { iCmd.CommandText = strsql; iCmd.ExecuteNonQuery(); } } iDbTran.Commit(); } catch (System.Exception E) { iDbTran.Rollback(); i = -1; return(i); throw new Exception(E.Message); } finally { if (iConn.State != ConnectionState.Closed) { iConn.Close(); } } return(i); } } } }
public void TestMethon3() { NewCity n = new NewCity() { CityID = 1, CityName = "保定", NewName = "新北京" }; City c = new City(); c = n; Console.WriteLine(c.CityName); //string _connectionString = "Data Source=.;Initial Catalog=SportsDB;Persist Security Info=True;User ID=sa;Password=11111111;Integrated Security=True"; //System.Data.IDbConnection connection = new System.Data.SqlClient.SqlConnection(_connectionString); System.Data.IDbConnection connection = Comm.Helper.DapperHelper.Instance; connection.Open(); System.Data.IDbTransaction transaction = connection.BeginTransaction(); List <M_User> user = new List <M_User>() { new M_User() { UserName = "******", Pwd = "111111" }, new M_User() { UserName = "******", Pwd = "11111111111111111111111111111111" }, }; try { connection.Insert <M_User>(user, transaction); transaction.Commit(); } catch (Exception ex) { transaction.Rollback(); } }
/**/ /// <summary> /// 执行SQL语句,返回影响的记录数 /// </summary> /// <param name="SQLString">SQL语句</param> /// <returns>影响的记录数</returns> public int ExecuteSql(string SQLString, params IDataParameter[] iParms) { using (System.Data.IDbConnection iConn = this.GetConnection()) { System.Data.IDbCommand iCmd = GetCommand(); { try { PrepareCommand(out iCmd, iConn, null, SQLString, iParms); int rows = iCmd.ExecuteNonQuery(); iCmd.Parameters.Clear(); return(rows); } catch (System.Exception E) { throw new Exception(E.Message); } finally { iCmd.Dispose(); if (iConn.State != ConnectionState.Closed) { iConn.Close(); } } } } } /**/ /// <summary> /// 执行多条SQL语句,实现数据库事务。 /// </summary> /// <param name="SQLStringList">SQL语句的哈希表(key为sql语句,value是该语句的SqlParameter[])</param> public int ExecuteSqlTran(Hashtable SQLStringList) { int i = 1; using (System.Data.IDbConnection iConn = this.GetConnection()) { iConn.Open(); using (IDbTransaction iTrans = iConn.BeginTransaction()) { System.Data.IDbCommand iCmd = GetCommand(); try { //循环 foreach (DictionaryEntry myDE in SQLStringList) { string cmdText = myDE.Key.ToString(); IDataParameter[] iParms = (IDataParameter[])myDE.Value; PrepareCommand(out iCmd, iConn, iTrans, cmdText, iParms); int val = iCmd.ExecuteNonQuery(); iCmd.Parameters.Clear(); } iTrans.Commit(); } catch { iTrans.Rollback(); i = -1; throw; } finally { iCmd.Dispose(); if (iConn.State != ConnectionState.Closed) { iConn.Close(); } } return(i); } } }
/// <summary> /// 执行多条SQL语句,实现数据库事务。 /// </summary> /// <param name="SQLStringList">多条SQL语句</param> public void ExecuteSqlTran(List <string> list) { using (System.Data.IDbConnection iConn = this.GetConnection()) { iConn.Open(); using (System.Data.IDbCommand iCmd = GetCommand()) { iCmd.Connection = iConn; using (System.Data.IDbTransaction iDbTran = iConn.BeginTransaction()) { iCmd.Transaction = iDbTran; try { for (int n = 0; n < list.Count; n++) { string strsql = list[n].ToString(); iCmd.CommandText = strsql; iCmd.ExecuteNonQuery(); } iDbTran.Commit(); } catch (System.Exception E) { iDbTran.Rollback(); throw new Exception(E.Message); } finally { if (iConn.State != ConnectionState.Closed) { iConn.Close(); } } } } } }