connection = new SqlConnection(connectionString);
connection.Open();
return ExecuteReader(connection, null, commandType, commandText, commandParameters,SqlConnectionOwnership.Internal); } catch
...{
// If we fail to return the SqlDatReader, we need to close the connection ourselves
if( connection != null ) connection.Close(); throw; } }
/**////
/// 执行指定数据库连接字符串的数据阅读器,指定参数值. ///
///
/// 此方法不提供访问存储过程输出参数和返回值参数. /// 示例:
/// SqlDataReader dr = ExecuteReader(connString, \ ///
/// /// /// ///
public static SqlDataReader ExecuteReader(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 ExecuteReader(connectionString, CommandType.StoredProcedure,
commandParameters
=
==
0
)
throw
new
SqlHelperParameterCache.GetSpParameterSet(connectionString, spName);
spName, commandParameters);
} else ...{
return ExecuteReader(connectionString, CommandType.StoredProcedure, spName); } }
/**////
/// 执行指定数据库连接对象的数据阅读器. /// ///
/// SqlDataReader dr = ExecuteReader(conn, CommandType.StoredProcedure, \
///
///
/// /// ///
public static SqlDataReader ExecuteReader(SqlConnection connection, CommandType commandType, string commandText) ...{
return ExecuteReader(connection, commandType, commandText, (SqlParameter[])null); }
/**////
/// [调用者方式]执行指定数据库连接对象的数据阅读器,指定参数.
/// ///
/// SqlDataReader dr = ExecuteReader(conn, CommandType.StoredProcedure,
\ ///
///
/// /// /// ///
public static SqlDataReader ExecuteReader(SqlConnection connection, CommandType commandType, string commandText, params SqlParameter[] commandParameters) ...{
return ExecuteReader(connection, (SqlTransaction)null, commandType,
commandText, commandParameters, SqlConnectionOwnership.External); }
/**////
/// [调用者方式]执行指定数据库连接对象的数据阅读器,指定参数值. ///
///
/// 此方法不提供访问存储过程输出参数和返回值参数. /// 示例:
/// SqlDataReader dr = ExecuteReader(conn, \ ///
/// ///
/// ///
public static SqlDataReader ExecuteReader(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 ExecuteReader(connection, CommandType.StoredProcedure, spName, commandParameters); } else
...{
return ExecuteReader(connection, CommandType.StoredProcedure, spName); } }
/**////
/// [调用者方式]执行指定数据库事务的数据阅读器,指定参数值. /// ///
=
/// SqlDataReader dr = ExecuteReader(trans, CommandType.StoredProcedure, \
///
///
/// /// ///
public static SqlDataReader ExecuteReader(SqlTransaction transaction, CommandType commandType, string commandText) ...{ return (SqlParameter[])null); }
/**////
/// [调用者方式]执行指定数据库事务的数据阅读器,指定参数. /// ///
/// SqlDataReader dr = ExecuteReader(trans, CommandType.StoredProcedure, \
///
///
/// ///
ExecuteReader(transaction,
commandType,
commandText,
///
///
public static SqlDataReader ExecuteReader(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.\
return
ExecuteReader(transaction.Connection,
transaction,
commandType,
commandText, commandParameters, SqlConnectionOwnership.External); }
/**////
/// [调用者方式]执行指定数据库事务的数据阅读器,指定参数值. /// ///
/// 此方法不提供访问存储过程输出参数和返回值参数. ///
/// 示例:
/// SqlDataReader dr = ExecuteReader(trans, \ ///
/// ///
/// ///
public static SqlDataReader ExecuteReader(SqlTransaction transaction, string spName, params object[] parameterValues) ...{
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 ArgumentNullException( \
// 如果有参数值
||
spName.Length
==
0
)
throw
new
if ((parameterValues != null) && (parameterValues.Length > 0)) ...{
SqlParameter[] commandParameters
SqlHelperParameterCache.GetSpParameterSet(transaction.Connection, spName);
AssignParameterValues(commandParameters, parameterValues);
return ExecuteReader(transaction, CommandType.StoredProcedure, spName, commandParameters); }
else ...{
// 没有参数值
return ExecuteReader(transaction, CommandType.StoredProcedure, spName); } }
#endregion ExecuteReader数据阅读器
ExecuteScalar 返回结果集中的第一行第一列#region ExecuteScalar 返回结果集中的第一行第一列
/**////
/// 执行指定数据库连接字符串的命令,返回结果集中的第一行第一列.
=