/// /// ///
public static int ExecuteNonQuery(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); }
}
/**////
/// 执行指定连接字符串的存储过程,将对象数组的值赋给存储过程参数, /// 此方法需要在参数缓存方法中探索参数并生成参数. /// ///
/// 这个方法没有提供访问输出参数和返回值. /// 示例:
/// int result = ExecuteNonQuery(connString, \ ///
/// /// ///
ExecuteNonQuery(connection,
commandType,
commandText,
///
public static int ExecuteNonQuery(string connectionString, string spName, params object[] parameterValues)
...{
if( connectionString == null || connectionString.Length == 0 ) throw new ArgumentNullException( \ if(
spName
==
null
||
spName.Length
==
0
)
throw
new
ArgumentNullException( \
// 如果存在参数值
if ((parameterValues != null) && (parameterValues.Length > 0)) ...{
// 从探索存储过程参数(加载到缓存)并分配给存储过程参数数组. SqlParameter[]
commandParameters
=
SqlHelperParameterCache.GetSpParameterSet(connectionString, spName);
// 给存储过程参数赋值
AssignParameterValues(commandParameters, parameterValues);
return ExecuteNonQuery(connectionString, CommandType.StoredProcedure, spName, commandParameters); } else
...{
// 没有参数情况下
return ExecuteNonQuery(connectionString, CommandType.StoredProcedure, spName);
} }
/**////
/// 执行指定数据库连接对象的命令 /// ///
/// int result = ExecuteNonQuery(conn, CommandType.StoredProcedure, \
///
///
/// /// ///
public static int ExecuteNonQuery(SqlConnection connection, CommandType commandType, string commandText) ...{
return (SqlParameter[])null); }
/**////
/// 执行指定数据库连接对象的命令 /// ///
int
result
=
ExecuteNonQuery(conn,
CommandType.StoredProcedure,
\ ///
///
ExecuteNonQuery(connection,
commandType,
commandText,
/// /// /// ///
public static int ExecuteNonQuery(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 );
// Finally, execute the command int retval = cmd.ExecuteNonQuery();
// 清除参数,以便再次使用. cmd.Parameters.Clear(); if( mustCloseConnection ) connection.Close(); return retval; }
/**////
/// 执行指定数据库连接对象的命令,将对象数组的值赋给存储过程参数. /// ///
/// 此方法不提供访问存储过程输出参数和返回值 /// 示例:
/// int result = ExecuteNonQuery(conn, \ ///
///
/// /// ///
public static int ExecuteNonQuery(SqlConnection connection, string spName, params object[] parameterValues) ...{
if( connection == null ) throw new ArgumentNullException( \ if( spName == null ArgumentNullException( \
||
spName.Length
==
0
)
throw
new
commandType,
// 如果有参数值
if ((parameterValues != null) && (parameterValues.Length > 0)) ...{
// 从缓存中加载存储过程参数 SqlParameter[]
commandParameters
=
SqlHelperParameterCache.GetSpParameterSet(connection, spName);
// 给存储过程分配参数值
AssignParameterValues(commandParameters, parameterValues);
return ExecuteNonQuery(connection, spName, commandParameters); } else ...{
return spName);
} }
/**////
/// 执行带事务的SqlCommand. /// ///
result
=
ExecuteNonQuery(trans,
CommandType.StoredProcedure,
ExecuteNonQuery(connection,
CommandType.StoredProcedure, CommandType.StoredProcedure,
///
///
/// /// ///
public static int ExecuteNonQuery(SqlTransaction transaction, CommandType commandType, string commandText) ...{
return (SqlParameter[])null); }
/**////
/// 执行带事务的SqlCommand(指定参数). /// ///
ExecuteNonQuery(transaction,
commandType,
commandText,
/// int result = ExecuteNonQuery(trans, CommandType.StoredProcedure, \new SqlParameter(\ ///
///
/// /// ///
///
public static int ExecuteNonQuery(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 cmd = new SqlCommand(); bool mustCloseConnection = false; PrepareCommand(cmd, // 执行
int retval = cmd.ExecuteNonQuery();
// 清除参数集,以便再次使用. cmd.Parameters.Clear(); return retval; }
/**////
/// 执行带事务的SqlCommand(指定参数值).
/// ///
/// 此方法不提供访问存储过程输出参数和返回值 /// 示例:
transaction.Connection,
transaction,
commandType,
commandText, commandParameters, out mustCloseConnection );
/// int result = ExecuteNonQuery(conn, trans, \ ///
///
/// /// ///
public static int ExecuteNonQuery(SqlTransaction transaction, string spName, params object[] parameterValues)