/// <summary> /// 事务执行有参语句返回DataSet /// </summary> /// <param name="transaction"></param> /// <param name="commandType"></param> /// <param name="commandText"></param> /// <returns></returns> public DataSet ExecuteDataset(IDbTransaction transaction, CommandType commandType, string commandText, params IDbDataParameter[] commandParameters) { if (transaction == null) { throw new ArgumentNullException("transaction"); } if (transaction != null && transaction.Connection == null) { throw new ArgumentException("The transaction was rollbacked or commited, please provide an open transaction.", "transaction"); } // Create a command and prepare it for execution IDbCommand cmd = DbManagerFactory.GetCommand(_dataProvider); bool mustCloseConnection = false; PrepareCommand(cmd, transaction.Connection, transaction, commandType, commandText, commandParameters, out mustCloseConnection); // Create the DataAdapter & DataSet IDbDataAdapter da = DbManagerFactory.GetDataAdapter(_dataProvider); da.SelectCommand = cmd; DataSet ds = new DataSet(); // Fill the DataSet using default values for DataTable names, etc //da.SelectCommand.CommandTimeout = 0; da.Fill(ds); // Detach the OracleParameters from the command object, so they can be used again cmd.Parameters.Clear(); // Return the dataset return(ds); }
/// <summary> /// 连接执行参数语句返回DataSet /// </summary> /// <param name="connection"></param> /// <param name="commandType"></param> /// <param name="commandText"></param> /// <param name="commandParameters"></param> /// <returns></returns> public DataSet ExecuteDataset(CommandType commandType, string commandText, IDbConnection conn = null, params IDbDataParameter[] commandParameters) { // Create a command and prepare it for execution IDbCommand cmd = DbManagerFactory.GetCommand(_dataProvider); if (conn == null) { conn = GetConnection(); } bool mustCloseConnection = false; PrepareCommand(cmd, conn, null, commandType, commandText, commandParameters, out mustCloseConnection); // Create the DataAdapter & DataSet IDbDataAdapter da = DbManagerFactory.GetDataAdapter(_dataProvider); da.SelectCommand = cmd; DataSet ds = new DataSet(); // Fill the DataSet using default values for DataTable names, etc //da.SelectCommand.CommandTimeout = 0; da.Fill(ds); // Detach the OracleParameters from the command object, so they can be used again cmd.Parameters.Clear(); if (mustCloseConnection) { conn.Close(); } // Return the dataset return(ds); }
/// <summary> /// batch import table data,short connect or trans /// </summary> /// <param name="sqlStr"></param> /// <param name="dt"></param> /// <param name="errText"></param> /// <param name="trans"></param> /// <returns>-1 异常 0 未影响数据 >0 影响数据行数</returns> public int BatchImportTable(string sqlStr, DataTable dt, IDbTransaction trans = null) { int retVal = -1; bool mustCloseConnection = false; IDbConnection conn; if (trans == null) { conn = GetConnection(); mustCloseConnection = true; } else if (trans.Connection == null) { throw new ArgumentException("The transaction was rollbacked or commited, please provide an open transaction.", "transaction"); } else { conn = trans.Connection; } if (conn.State != ConnectionState.Open) { conn.Open(); } IDbCommand cmd = DbManagerFactory.GetCommand(_dataProvider); cmd.CommandText = sqlStr; cmd.Connection = conn; IDbDataAdapter da = DbManagerFactory.GetDataAdapter(_dataProvider); da.SelectCommand = cmd; DbCommandBuilder cmdBuilder = DbManagerFactory.GetCommandBuilder(_dataProvider); cmdBuilder.DataAdapter = (DbDataAdapter)da; retVal = ((DbDataAdapter)da).Update(dt); if (mustCloseConnection) { conn.Close(); } return(retVal); }
/// <summary> /// 事务执行参数语句 /// </summary> /// <param name="transaction"></param> /// <param name="commandType"></param> /// <param name="commandText"></param> /// <param name="commandParameters"></param> /// <returns></returns> public int ExecuteNonQuery(IDbTransaction transaction, CommandType commandType, string commandText, params IDbDataParameter[] commandParameters) { if (transaction == null) { throw new ArgumentNullException("transaction"); } if (transaction != null && transaction.Connection == null) { throw new ArgumentException("The transaction was rollbacked or commited, please provide an open transaction.", "transaction"); } IDbCommand command = DbManagerFactory.GetCommand(_dataProvider); bool mustCloseConnection = false; PrepareCommand(command, transaction.Connection, transaction, commandType, commandText, commandParameters, out mustCloseConnection); int retVal = command.ExecuteNonQuery(); command.Parameters.Clear(); return(retVal); }
/// <summary> /// 连接执行参数语句 /// </summary> /// <param name="connection"></param> /// <param name="commandType"></param> /// <param name="commandText"></param> /// <param name="commandParameters"></param> /// <returns></returns> public int ExecuteNonQuery(CommandType commandType, string commandText, params IDbDataParameter[] commandParameters) { // Create a command and prepare it for execution IDbCommand cmd = DbManagerFactory.GetCommand(_dataProvider); IDbConnection conn = GetConnection(); bool mustCloseConnection = false; PrepareCommand(cmd, conn, null, commandType, commandText, commandParameters, out mustCloseConnection); // Finally, execute the command int retVal = cmd.ExecuteNonQuery(); // Detach the OracleParameters from the command object, so they can be used again cmd.Parameters.Clear(); if (mustCloseConnection) { conn.Close(); } return(retVal); }