读书人

错误详细信息: System.NullReferenceE

发布时间: 2011-12-24 23:03:24 作者: rapoo

异常详细信息: System.NullReferenceException: 未将对象引用设置到对象的实例。
string id=Request.QueryString[ "id "].Trim();

string Sqlstr = "select * from adminas where ID= ' "+id+ " ' ";
我在连接里面传了一id值如果为空的时间就出现这样的错误
异常详细信息: System.NullReferenceException: 未将对象引用设置到对象的实例。

有什么办法解决



[解决办法]
为空肯定会出现那样的问题
可以判断有没有传值

[解决办法]
1.
if (Request.QueryString.Count > 0)
{
string Sqlstr = "select * from adminas where ID= ' "+id+ " ' "; //处理语句
}
else
{
//处理语句 这里我是直接把ID写死
}


2.
if(id=null)
{
id=1
}
else
{
string Sqlstr = "select * from adminas where ID= ' "+id+ " ' "; //处理语句
}
[解决办法]
2.
if(id==null) //这里少写一个等号……
{
id=1
}
else
{
string Sqlstr = "select * from adminas where ID= ' "+id+ " ' "; //处理语句
}
[解决办法]
if(!object.Equals(Request.QueryString[ "id "],null) && Request.QueryString[ "id "].ToString()!=string.Empty){
......
}
[解决办法]
1.
if (Request.QueryString.Count > 0)
{
string Sqlstr = "select * from adminas where ID= ' "+id+ " ' "; //处理语句
}
else
{
//处理语句 这里我是直接把ID写死
}

这个可以不?
[解决办法]
楼主id为空是id= ' '还是id=null?
如果是null 则不应该写成
select * from adminas where ID=null
而应该为
select * from adminas where ID is null
另可以将定义一个@id变量,然后付值(与程序中相同的数值)然后再sql中直接执行语句
select * from adminas where ID=@id
看看有什么结果.
[解决办法]
应该这样判断
int id=(Request.QueryString[ "id "]==null)?1:Convert.ToInt32(Request.QueryString[ "id "]);
[解决办法]
楼上的老兄顶的好。言简意赅。值得我辈学习。

读书人网 >asp.net

热点推荐