...{
if( transaction == null ) throw new ArgumentNullException( \
if( transaction != null && transaction.Connection == null ) throw new ArgumentException( \transaction was rollbacked or commited, please provide an open transaction.\ if(
spName
==
null
||
spName.Length
==
0
)
throw
new
ArgumentNullException( \
// 如果有参数值
if ((parameterValues != null) && (parameterValues.Length > 0))
...{
// 从缓存中加载存储过程参数,如果缓存中不存在则从数据库中检索参数信息并加载到缓存中. ()
SqlParameter[]
commandParameters
=
SqlHelperParameterCache.GetSpParameterSet(transaction.Connection, spName);
// 给存储过程参数赋值
AssignParameterValues(commandParameters, parameterValues);
// 调用重载方法 return
ExecuteNonQuery(transaction,
CommandType.StoredProcedure,
spName, commandParameters); } else ...{
// 没有参数值 return spName);
} }
#endregion ExecuteNonQuery方法结束
ExecuteDataset方法#region ExecuteDataset方法
/**////
/// 执行指定数据库连接字符串的命令,返回DataSet. /// ///
/// DataSet ds = ExecuteDataset(connString, CommandType.StoredProcedure, \
///
///
ExecuteNonQuery(transaction,
CommandType.StoredProcedure,
/// /// ///
public static DataSet ExecuteDataset(string connectionString, CommandType commandType, string commandText) ...{ return (SqlParameter[])null); }
/**////
/// 执行指定数据库连接字符串的命令,返回DataSet. /// ///
/// DataSet ds = ExecuteDataset(connString, CommandType.StoredProcedure, \ ///
/// /// /// /// ///
public static DataSet ExecuteDataset(string connectionString, CommandType commandType, string commandText, params SqlParameter[] commandParameters)
...{
if( connectionString == null || connectionString.Length == 0 ) throw new ArgumentNullException( \
// 创建并打开数据库连接对象,操作完成释放对象.
using (SqlConnection connection = new SqlConnection(connectionString)) ...{
connection.Open();
// 调用指定数据库连接字符串重载方法. return commandParameters); } }
/**////
/// 执行指定数据库连接字符串的命令,直接提供参数值,返回DataSet. /// ///
ExecuteDataset(connection,
commandType,
commandText,
ExecuteDataset(connectionString,
commandType,
commandText,
/// 此方法不提供访问存储过程输出参数和返回值. /// 示例:
/// DataSet ds = ExecuteDataset(connString, \ ///
/// /// /// ///
public static DataSet ExecuteDataset(string connectionString, string spName, params object[] parameterValues)
...{
if( connectionString == null || connectionString.Length == 0 ) throw new ArgumentNullException( \
if( spName == null || spName.Length ArgumentNullException( \
if ((parameterValues != null) && (parameterValues.Length > 0)) ...{
// 从缓存中检索存储过程参数 SqlParameter[]
// 给存储过程参数分配值
AssignParameterValues(commandParameters, parameterValues);
return ExecuteDataset(connectionString, CommandType.StoredProcedure, spName, commandParameters); } else ...{
return ExecuteDataset(connectionString, CommandType.StoredProcedure, spName); } }
/**////
/// 执行指定数据库连接对象的命令,返回DataSet. /// ///
/// DataSet ds = ExecuteDataset(conn, CommandType.StoredProcedure, \ ///
///
///
commandParameters
=
SqlHelperParameterCache.GetSpParameterSet(connectionString, spName);
==
0
)
throw
new
/// ///
public static DataSet ExecuteDataset(SqlConnection connection, CommandType commandType, string commandText) ...{ return (SqlParameter[])null); }
/**////
/// 执行指定数据库连接对象的命令,指定存储过程参数,返回DataSet. /// ///
/// DataSet ds = ExecuteDataset(conn, CommandType.StoredProcedure, \new SqlParameter(\
///
///
/// /// /// ///
public static DataSet ExecuteDataset(SqlConnection connection, CommandType commandType, string commandText, params SqlParameter[] commandParameters) ...{
if( connection == null ) throw new ArgumentNullException( \
// 预处理
SqlCommand cmd = new SqlCommand(); bool mustCloseConnection = false;
PrepareCommand(cmd, connection, (SqlTransaction)null, commandText, commandParameters, out mustCloseConnection );
// 创建SqlDataAdapter和DataSet.
using( SqlDataAdapter da = new SqlDataAdapter(cmd) ) ...{
DataSet ds = new DataSet();
// 填充DataSet. da.Fill(ds);
cmd.Parameters.Clear();
if( mustCloseConnection )
commandType,
ExecuteDataset(connection,
commandType,
commandText,
connection.Close();
return ds; } }
/**////
/// 执行指定数据库连接对象的命令,指定参数值,返回DataSet. ///
///
/// 此方法不提供访问存储过程输入参数和返回值. /// 示例.:
/// DataSet ds = ExecuteDataset(conn, \ ///
/// ///
/// ///
public static DataSet ExecuteDataset(SqlConnection connection, string spName, params object[] parameterValues) ...{
if( connection == null ) throw new ArgumentNullException( \
if( spName == null || spName.Length == 0 ) throw new ArgumentNullException( \
if ((parameterValues != null) && (parameterValues.Length > 0)) ...{
// 比缓存中加载存储过程参数
SqlParameter[] commandParameters SqlHelperParameterCache.GetSpParameterSet(connection, spName);
// 给存储过程参数分配值
AssignParameterValues(commandParameters, parameterValues);
return ExecuteDataset(connection, CommandType.StoredProcedure, spName, commandParameters); } else ...{
return ExecuteDataset(connection, CommandType.StoredProcedure, spName); }
}
/**////
=