//#region ExecutePaging //public DataTable ExecutePagingDataTable(CommandType cmdType,string tableName, string cmdText, int pageIndex, int pageSize, string orderInfo, params DbParameter[] parameterValues) //{ // StDbQueryParameter q=new StDbQueryParameter(tableName,) // cmdText = StDbSqlFunction.GetQuerySql(DbType, null); // //cmdText = DBClient.GetPagingSql(cmdText, pageIndex, pageSize, orderInfo); // return ExecuteDataTable(CommandType.Text, cmdText, parameterValues); //} //public DbDataReader ExecutePagingReader(CommandType cmdType, string cmdText, int pageIndex, int pageSize, string orderInfo, params DbParameter[] parameterValues) //{ // cmdText = DBClient.GetPagingSql(cmdText, pageIndex, pageSize, orderInfo); // return ExecuteReader(CommandType.Text, cmdText, parameterValues); //} //#endregion #region Transaction /// <summary> /// 开始该帮助类创建的事务 /// </summary> public void BeginTransaction() { if (TransConnectionObj == null) { DbConnection conn = _dbDriveType.CreateDbConnection(_connectionString); OpenConn(conn); DbTransaction trans = conn.BeginTransaction(); TransConnectionObj = new TransConnection(); TransConnectionObj.DBTransaction = trans; } else { TransConnectionObj.Deeps += 1; } }
/// <summary> /// 创建一个新的DBCommand /// </summary> /// <param name="driveType">数据库驱动类型</param> /// <param name="connString">数据库连接字符串</param> /// <param name="text">执行的命令文本</param> /// <param name="type">执行方式</param> /// <param name="tran">一个事务 此项可为null</param> /// <param name="pars">参数数组,如果没有可为null</param> /// <returns></returns> public static DbCommand CreateDbCommand(this StDbDriveType driveType, string connString, string text, CommandType type, DbTransaction tran, params DbParameter[] pars) { DbCommand cmd = null; switch (driveType) { case StDbDriveType.ODBC: cmd = new OdbcCommand(); break; case StDbDriveType.OleDB: cmd = new OleDbCommand(); break; case StDbDriveType.Oracle: cmd = new OracleCommand(); break; case StDbDriveType.SQLServer: cmd = new SqlCommand(); break; case StDbDriveType.MySQL: cmd = new MySqlCommand(); break; case StDbDriveType.SQLite: cmd = new SQLiteCommand(); break; default: break; } cmd.CommandType = type; cmd.Connection = driveType.CreateDbConnection(connString); if (tran != null) { cmd.Transaction = tran; } cmd.CommandText = text; if (pars != null && pars.Length > 0) { cmd.Parameters.AddRange(pars); } return(cmd); }
/// <summary> /// 创建一个新的数据库连接对象 /// </summary> /// <param name="driveType">数据库类型</param> /// <returns></returns> public static DbConnection CreateDbConnection(this StDbDriveType driveType) { return(driveType.CreateDbConnection(string.Empty)); }