AUTO\
///
///
public static XmlReader ExecuteXmlReader(SqlTransaction transaction, CommandType commandType, string commandText, params SqlParameter[] commandParameters) ...{
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.\
// 创建SqlCommand命令,并进行预处理 SqlCommand cmd = new SqlCommand(); bool mustCloseConnection = false;
PrepareCommand(cmd, transaction.Connection, commandText, commandParameters, out mustCloseConnection );
// 执行命令
XmlReader retval = cmd.ExecuteXmlReader();
// 清除参数,以便再次使用. cmd.Parameters.Clear(); return retval; }
/**////
/// 执行指定数据库事务的SqlCommand命令,并产生一个XmlReader对象做为结果集返回,指定参数值. ///
///
/// 此方法不提供访问存储过程输出参数和返回值参数. ///
/// 示例:
/// XmlReader r = ExecuteXmlReader(trans, \ ///
///
/// /// ///
public static XmlReader ExecuteXmlReader(SqlTransaction transaction, string spName, params object[] parameterValues) ...{
if( transaction == null ) throw new ArgumentNullException( \
transaction,
commandType,
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 }
else ...{
// 没有参数值 return spName);
}
}
#endregion ExecuteXmlReader 阅读器结束
FillDataset 填充数据集#region FillDataset 填充数据集
/**////
/// 执行指定数据库连接字符串的命令,映射数据表并填充数据集. /// ///
/// FillDataset(connString, CommandType.StoredProcedure, \ds, new string[] ...{\
///
/// /// /// ///
ExecuteXmlReader(transaction,
CommandType.StoredProcedure,
ExecuteXmlReader(transaction,
CommandType.StoredProcedure,
spName, commandParameters);
///
public static void FillDataset(string connectionString, CommandType commandType, string commandText, DataSet dataSet, string[] tableNames) ...{
if( connectionString == null || connectionString.Length == 0 ) throw new ArgumentNullException( \
if( dataSet == null ) throw new ArgumentNullException( \
// 创建并打开数据库连接对象,操作完成释放对象.
using (SqlConnection connection = new SqlConnection(connectionString)) ...{
connection.Open();
// 调用指定数据库连接字符串重载方法.
FillDataset(connection, commandType, commandText, dataSet, tableNames); } }
/**////
/// 执行指定数据库连接字符串的命令,映射数据表并填充数据集.指定命令参数. /// ///
/// FillDataset(connString, CommandType.StoredProcedure, \ds, new string[] ...{\ ///
///
/// ///
///
/// ///
public static void FillDataset(string connectionString, CommandType commandType, string commandText, DataSet dataSet, string[] tableNames, params SqlParameter[] commandParameters) ...{
if( connectionString == null || connectionString.Length == 0 ) throw new ArgumentNullException( \
if( dataSet == null ) throw new ArgumentNullException( \ // 创建并打开数据库连接对象,操作完成释放对象.
using (SqlConnection connection = new SqlConnection(connectionString)) ...{
connection.Open();
// 调用指定数据库连接字符串重载方法.
FillDataset(connection, commandType, commandText, dataSet, tableNames, commandParameters); } }
/**////
/// 执行指定数据库连接字符串的命令,映射数据表并填充数据集,指定存储过程参数值.
///
///
/// 此方法不提供访问存储过程输出参数和返回值参数. ///
/// 示例:
/// FillDataset(connString, CommandType.StoredProcedure, \ds, new string[] ...{\
///
/// ///
/// ///
/// 用户定义的表名 (可有是实际的表名.)
///
/// public static void FillDataset(string connectionString, string spName, DataSet dataSet, string[] tableNames, params object[] parameterValues) ...{
if( connectionString == null || connectionString.Length == 0 ) throw new ArgumentNullException( \
if( dataSet == null ) throw new ArgumentNullException( \ // 创建并打开数据库连接对象,操作完成释放对象.
using (SqlConnection connection = new SqlConnection(connectionString)) ...{
connection.Open();
// 调用指定数据库连接字符串重载方法.
FillDataset (connection, spName, dataSet, tableNames, parameterValues); } }
/**////
/// 执行指定数据库连接对象的命令,映射数据表并填充数据集. /// ///
/// FillDataset(conn, CommandType.StoredProcedure, \ds, new string[] ...{\ ///
///
/// /// /// ///
public static void FillDataset(SqlConnection connection, CommandType commandType, string commandText, DataSet dataSet, string[] tableNames) ...{
FillDataset(connection, commandType, commandText, dataSet, tableNames, null); }
/**////
/// 执行指定数据库连接对象的命令,映射数据表并填充数据集,指定参数. /// ///
/// FillDataset(conn, CommandType.StoredProcedure, \ds, new string[] ...{\ ///
///
/// /// /// ///
///
///
public static void FillDataset(SqlConnection connection, CommandType commandType, string commandText, DataSet dataSet, string[] tableNames,
params SqlParameter[] commandParameters) ...{
FillDataset(connection, null, commandType, commandText, dataSet, tableNames,