步驟1:調試一下存儲過程,看看return的是不是0,如果不是,繼續步驟2
步驟2:将你的ExecuteScalar換成一下函數
///
/// 執行存儲過程,傳回影響的行數
///
/// 存儲過程名
/// 存儲過程參數
/// 影響的行數
///
public static int RunProcedure(string storedProcName, IDataParameter[] parameters, out int rowsAffected)
{
using (SqlConnection connection = new SqlConnection(ConnectionString))
{
int result;
connection.Open();
SqlCommand command = BuildIntCommand(connection, storedProcName, parameters);
rowsAffected = command.ExecuteNonQuery();
result = (int)command.Parameters["ReturnValue"].Value;
//Connection.Close();
return result;
}
}
///
/// 建立 SqlCommand 對象執行個體(用來傳回一個整數值)
///
/// 存儲過程名
/// 存儲過程參數
/// SqlCommand 對象執行個體
private static SqlCommand BuildIntCommand(SqlConnection connection, string storedProcName, IDataParameter[] parameters)
{
SqlCommand command = BuildQueryCommand(connection, storedProcName, parameters);
command.Parameters.Add(new SqlParameter("ReturnValue",
SqlDbType.Int, 4, ParameterDirection.ReturnValue,
false, 0, 0, string.Empty, DataRowVersion.Default, null));
return command;
}
紅塵中迷茫
|
園豆:60
(初學一級)
|
2008-07-20 13:06
Ctrl+Enter鍵快速送出