我运行生成数据表的代码。从这个数据表中,我收集了 State & CRID。我使用这些信息来运行代码以获取 PRID。问题是,每次我运行这个,我都会得到一个空引用异常。我尝试在运行代码之前声明 int PRID = 0;但是,我每次都以 0 作为我的答案。我已经使用相同的参数在 SQLServer 2008 中执行了代码,并且得到了正确的结果。
我无法确定为什么此代码运行不正确。
public int GetPRID(int RRID, string State, int PCID)
{
try
{
SQLCON = new SqlConnection(connectionString);
SQLCON.Open();
SQLCmd = new SqlCommand("spGetPRID", SQLCON);
SQLCmd.CommandType = CommandType.StoredProcedure;
SQLCmd.Parameters.Add("@RRID", SqlDbType.Int).Value = RRID;
SQLCmd.Parameters.Add("@State", SqlDbType.VarChar).Value = State;
SQLCmd.Parameters.Add("@PCID", SqlDbType.Int).Value = PCID;
int PRID = (Int32)SQLCmd.ExecuteScalar();
return PRID;
}
catch(Exception ex)
{
HttpContext.Current.Response.Redirect("~/ErrorRedirect.aspx?" + ex.Message, false);
return 0;
}
finally
{
SQLCON.Close();
}
}