错误消息:对象引用未设置为对象的实例

本文关键字:对象 实例 设置 消息 对象引用 错误 | 更新日期: 2023-09-27 18:25:25

以下代码正在生成错误:

else if (period.ToString().Equals("3 years"))
    {
        for (int i = 0; i <= 36; i++)
        {
            string strCommandText5 = "INSERT INTO AutoTrans VALUES(@loanID,@transPeriod,null,@transStatus);";
            SqlCommand myCommand5 = new SqlCommand(strCommandText5, myConnection);
            myCommand5.Parameters.AddWithValue("@loanID", Session["@loanID"].ToString());
            myCommand5.Parameters.AddWithValue("@transPeriod", numPeriod);
            myCommand5.Parameters.AddWithValue("@transStatus", status);
            numPeriod++;
            myCommand5.ExecuteNonQuery();
        }
    }

错误消息:

对象引用未设置为对象的实例。在myCommand5.参数.AddWithValue("@loanID",Session["@loan ID"].ToString())上;

请帮我谢谢

错误消息:对象引用未设置为对象的实例

按照更改代码

else if (period.ToString().Equals("3 years")&&Session["@loanID"]!=null)
{
    for (int i = 0; i <= 36; i++)
    {
        string strCommandText5 = "INSERT INTO AutoTrans VALUES(@loanID,@transPeriod,null,@transStatus);";
        SqlCommand myCommand5 = new SqlCommand(strCommandText5, myConnection);
        myCommand5.Parameters.AddWithValue("@loanID", Session["@loanID"].ToString());
        myCommand5.Parameters.AddWithValue("@transPeriod", numPeriod);
        myCommand5.Parameters.AddWithValue("@transStatus", status);
        numPeriod++;
        myCommand5.ExecuteNonQuery();
    }
}

Session["@loanID"]为空,请检查取消会话中的值:

if (Session["@loanID"] == null) { throw new Exception("Session["@loanID"] is null"); } 
myCommand5.Parameters.AddWithValue("@loanID", Session["@loanID"].ToString());

错误不言自明,您的session为空或null,这就是生成异常的原因。如果你想,用这个发送DbNull

myCommand5.Parameters.AddWithValue("@loanID", Session["@loanID"].ToString() ?? (object)DBNull.Value);