/// ///
/// int orderCount = (int)ExecuteScalar(connString, CommandType.StoredProcedure, \
///
/// /// /// ///
// 执行参数为空的方法
return ExecuteScalar(connectionString, (SqlParameter[])null);
commandType,
commandText,
connectionString,
CommandType
}
/**////
/// 执行指定数据库连接字符串的命令,指定参数,返回结果集中的第一行第一列. /// ///
/// int orderCount = (int)ExecuteScalar(connString, CommandType.StoredProcedure, \
///
/// /// ///
///
///
public static object ExecuteScalar(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
ExecuteScalar(connection,
commandType,
commandText,
commandParameters);
} }
/**////
/// 执行指定数据库连接字符串的命令,指定参数值,返回结果集中的第一行第一列. ///
///
/// 此方法不提供访问存储过程输出参数和返回值参数. ///
/// 示例:
/// int orderCount = (int)ExecuteScalar(connString, \ ///
/// /// /// ///
public static object ExecuteScalar(string connectionString, string spName, params object[] parameterValues) ...{
if( connectionString == null || connectionString.Length == 0 ) throw new ArgumentNullException( \
if( spName == null || spName.Length ArgumentNullException( \
// 如果有参数值
==
0
)
throw
new
if ((parameterValues != null) && (parameterValues.Length > 0))
...{
// 从缓存中加载存储过程参数,如果缓存中不存在则从数据库中检索参数信息并加载到缓存中. ()
SqlParameter[] commandParameters SqlHelperParameterCache.GetSpParameterSet(connectionString, spName);
// 给存储过程参数赋值
AssignParameterValues(commandParameters, parameterValues);
// 调用重载方法
return ExecuteScalar(connectionString, spName, commandParameters); } else
...{
// 没有参数值 return
ExecuteScalar(connectionString,
CommandType.StoredProcedure, CommandType.StoredProcedure,
=
spName);
} }
/**////
/// 执行指定数据库连接对象的命令,返回结果集中的第一行第一列. /// ///
/// int orderCount = (int)ExecuteScalar(conn, CommandType.StoredProcedure, \
///
///
/// /// ///
public static object ExecuteScalar(SqlConnection connection, CommandType commandType, string commandText) ...{
// 执行参数为空的方法 return
ExecuteScalar(connection,
commandType,
commandText,
(SqlParameter[])null); }
/**////
/// 执行指定数据库连接对象的命令,指定参数,返回结果集中的第一行第一列. /// ///
/// int orderCount = (int)ExecuteScalar(conn, CommandType.StoredProcedure, \ ///
///
/// ///
///
///
public static object ExecuteScalar(SqlConnection connection, CommandType commandType, string commandText, params SqlParameter[] commandParameters) ...{
if( connection == null ) throw new ArgumentNullException( \
// 创建SqlCommand命令,并进行预处理
SqlCommand cmd = new SqlCommand();
bool mustCloseConnection = false;
PrepareCommand(cmd, connection, (SqlTransaction)null, commandText, commandParameters, out mustCloseConnection );
// 执行SqlCommand命令,并返回结果. object retval = cmd.ExecuteScalar();
// 清除参数,以便再次使用. cmd.Parameters.Clear();
if( mustCloseConnection ) connection.Close();
return retval;
}
/**////
/// 执行指定数据库连接对象的命令,指定参数值,返回结果集中的第一行第一列. ///
///
/// 此方法不提供访问存储过程输出参数和返回值参数. ///
/// 示例:
/// int orderCount = (int)ExecuteScalar(conn, \ ///
/// /// ///
commandType,
///
public static object ExecuteScalar(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 ExecuteScalar(connection, CommandType.StoredProcedure, spName, commandParameters); } else
...{
// 没有参数值
return ExecuteScalar(connection, CommandType.StoredProcedure, spName); } }
/**////
/// 执行指定数据库事务的命令,返回结果集中的第一行第一列. /// ///
/// int orderCount = (int)ExecuteScalar(trans, CommandType.StoredProcedure, \
///
///
/// /// ///
public static object ExecuteScalar(SqlTransaction transaction, CommandType commandType, string commandText) ...{
// 执行参数为空的方法 return (SqlParameter[])null); }
/**////
/// 执行指定数据库事务的命令,指定参数,返回结果集中的第一行第一列. /// ///
/// int orderCount = (int)ExecuteScalar(trans, CommandType.StoredProcedure, \ ///
ExecuteScalar(transaction,
commandType,
commandText,