【发布时间】:2016-10-11 04:18:28
【问题描述】:
我正在开发一个 ASP.NET MVC 应用程序。我有一个存储过程。我想将一些值发送到存储过程。下面是参数
@CorporateId Input
@CitizenId Input
@DocType Input
@Revert Input
@ResponseCode Out
@ResponseMessage Out
我需要发送 CorporateId、CitizenId、DocType 和 @Revert 的值,其中值始终为 0。插入文档时,我想将 0 作为值发送到 @rever。
我尝试过的示例代码
public EmployeeDetail InsertDocumentFlagRevert(int? corporateID, string citizenId, int? docType, string connectingString)
{
string constring = connectingString;
EmployeeDetail objclValues = new EmployeeDetail();
using (SqlConnection con = new SqlConnection(constring))
{
using (SqlCommand cmd = new SqlCommand("uup_Employee_KYC_Uploaded_Flag", con))
{
cmd.CommandType = CommandType.StoredProcedure;
if (corporateID == null)
{
cmd.Parameters.AddWithValue("@CorporateID", DBNull.Value);
}
else
{
cmd.Parameters.AddWithValue("@CorporateID", corporateID);
}
if (string.IsNullOrEmpty(citizenId))
{
cmd.Parameters.AddWithValue("@CitizenId", DBNull.Value);
}
else
{
cmd.Parameters.AddWithValue("@CitizenId", citizenId);
}
if (docType == null)
{
cmd.Parameters.AddWithValue("@DocType", DBNull.Value);
}
else
{
cmd.Parameters.AddWithValue("@DocType", docType);
}
cmd.Parameters.Add("@ResponseCode", SqlDbType.VarChar, 2);
cmd.Parameters.Add("@ResponseMessage", SqlDbType.VarChar, 70);
cmd.Parameters.AddWithValue("@Revert", 0);
cmd.Parameters["@ResponseCode"].Direction = ParameterDirection.Output;
cmd.Parameters["@ResponseMessage"].Direction = ParameterDirection.Output;
con.Open();
int i = cmd.ExecuteNonQuery();
con.Close();
}
}
}
在这段代码中,i 的值为 -1。我不确定参数是否实际传递给存储过程?有人可以帮我解决这个问题吗?
【问题讨论】:
-
使用分析器捕获执行语句,然后使用它可以调试过程。
标签: asp.net sql-server stored-procedures