当前位置: 技术问答>java相关
数据库操作及jsp的一点问题
来源: 互联网 发布时间:2015-06-15
本文导语: 1、我在写bbs的程序时,在回复中当提交完表单的时候,数据库的记录已经更新, 但它提示我:No ResultSet was produced。 2、这是表单提交过来的数据,如果phone为空的话就赋值为NULL, phone=request.getParameter("phone"); ...
1、我在写bbs的程序时,在回复中当提交完表单的时候,数据库的记录已经更新,
但它提示我:No ResultSet was produced。
2、这是表单提交过来的数据,如果phone为空的话就赋值为NULL,
phone=request.getParameter("phone"); //这句对的
if(phone.trim().equals("")) // 这一句是什么意思?
{
phone=null;
}
提示错误:exception java.lang.NullPointerException
给if语句去掉就没错误了。迷惑!
但它提示我:No ResultSet was produced。
2、这是表单提交过来的数据,如果phone为空的话就赋值为NULL,
phone=request.getParameter("phone"); //这句对的
if(phone.trim().equals("")) // 这一句是什么意思?
{
phone=null;
}
提示错误:exception java.lang.NullPointerException
给if语句去掉就没错误了。迷惑!
|
你是不是有这样的语句
ResultSet rs=conn.execute(sql);
其中sql="insert into......"或者是“update ....”
改成conn.execute(sql);
if(phone.trim().equals("")) 这一句是判断phone是否为空
ResultSet rs=conn.execute(sql);
其中sql="insert into......"或者是“update ....”
改成conn.execute(sql);
if(phone.trim().equals("")) 这一句是判断phone是否为空
|
当然有区别了,ResultSet rs=conn.execute(sql);是返回一个结果集,而且这句用的是错误的,要返回一个结果集,通常用executeQuery()方法;conn.execute(sql);指的是执行一个sql语句,它返回的通常是一个整数,返回值是sql语句影响的行数。
|
phone=request.getParameter("phone"); //这句对的
if(phone.trim().equals("")) // 这一句是什么意思?
{
phone=null;
}
提示错误:exception java.lang.NullPointerException
给if语句去掉就没错误了。迷惑!
根据你的现象:给if语句去掉就没错误了。
phone=request.getParameter("phone");得到的phone值本来就是null
如果你对null进行phone.trim()则会抛出
exception java.lang.NullPointerException。
try:
phone=request.getParameter("phone")==null?"":request.getParameter("phone") ;
if(phone.trim().equals("")) // 这一句是什么意思?
{
phone=null;
}
提示错误:exception java.lang.NullPointerException
给if语句去掉就没错误了。迷惑!
根据你的现象:给if语句去掉就没错误了。
phone=request.getParameter("phone");得到的phone值本来就是null
如果你对null进行phone.trim()则会抛出
exception java.lang.NullPointerException。
try:
phone=request.getParameter("phone")==null?"":request.getParameter("phone") ;
|
改为:phone=request.getParameter("phone")==null?"":request.getParameter("phone");
就不会错了
就不会错了