私はASP.NET MVCアプリケーションを開発しています。私はストアドプロシージャを持っています。私はストアドプロシージャにいくつかの値を送信したい。以下は、値は常に0ですストアドプロシージャが正しく実行されることを確認するには?
@CorporateId Input
@CitizenId Input
@DocType Input
@Revert Input
@ResponseCode Out
@ResponseMessage Out
は私がCorporateId
、CitizenId
、DocType
と@Revert
の値を送信するために必要なパラメータがあります。文書を挿入するときに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();
}
}
}
を試してみた
サンプルコード、私の値は-1です。パラメータが実際にストアドプロシージャに渡されているかどうかはわかりません。誰かがこれで私を助けることができますか?
プロファイラを使用して実行文をキャッチし、それを使用してプロシージャをデバッグできます。 – shadow