System.NullReferenceException: 未将对象引用设置到对象的实例
这个错误在以下代码中经常出现:
一、string id = Request.QueryString["XXX"].ToString();
二、string session = Session["XXXX"].ToString();
三、string viewState = ViewState["XXX"].ToString();
System.Data.SqlClient.SqlDataReader reader = "执行sql语句获取一个SqlDataReader对象";
四、string columnValue = reader["XXX"].ToString();
五、int columnInt = Convert.ToInt32(reader["XXXX"]);
六、string selectValue = DropDownList.SelectedValue.ToString();
总之这几个都是因为它们
Request.QueryString["XXX"];
Session["XXXX"];
ViewState["XXX"];
reader["XXX"];
DropDownList.SelectedValue;
的值此时为null引起的。
另外注意:
一、Request.QueryString["XXX"]它的值本来就是string类型是不用再.ToString()进行转换的;
二、DropDownList.SelectedValue它的值本来也是string类型也是不用再.ToString()进行转换的;
三、int columnInt = Convert.ToInt32(reader["XXXX"])这行代码有两个地方需要留意:一是reader["XXXX"]不能为空这个空又有两个两个意思1是它的值不能等于null;2是它的值不能为DBNull.Value。二是这个reader["XXXX"]的值要能够转换成int数据类型,否则会出现输入字符串格式不正确错误提示。