处理null值....为什么??

kofwr 2003-03-03 08:55:49
我输出的东西,发现有null,这个不需要显示,于是我在while循环中写了
<%
if(rs.getString(2)==null){
out.println(" ");
}else{
out.println(rs.getString(2));
}
%>
可是就出毛病了,都不能正常显示..报java.sql.SQLException: No data found st
我用jdbc-odbc取的acess,why?
...全文
77 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
lifenggod 2003-03-03
  • 打赏
  • 举报
回复
我试过了,只要将你的代码改为
<%
String str_flag=rs.getString(2);
if(str_flag==null){
out.println(" ");
}else{
out.println(str_flag);
}
%>
就可以通过了,这里千万不要在else中再进行一次rs.getString(2)的结果集处理过程,否则就会出现你写的出错信息.
lifenggod 2003-03-03
  • 打赏
  • 举报
回复
我想有可能是rs.getString(2).equals("")
jcq 2003-03-03
  • 打赏
  • 举报
回复
如果你要这样做的话,应该是
if(str_flag==null){
}else{
}
jcq 2003-03-03
  • 打赏
  • 举报
回复
to guocx2008(guocx2008),你的这种解决好象不行吧,如果你的字段允许为空,就有可能发生null pointer的错误的。
guocx2008 2003-03-03
  • 打赏
  • 举报
回复
我也遇到过此类的问题,可以把代码该为:
<%
String str_flag="";

str_flag=rs.getString(2);

if(str_flag.length==0){
out.println(" ");
}else{
out.println(rs.getString(2));
}
%>
希偌 2003-03-03
  • 打赏
  • 举报
回复
sorry
可能是查询出来的ResultSet没有第二列
改成
rs.getString(1)
希偌 2003-03-03
  • 打赏
  • 举报
回复
可能是查询出来的ResultSet没有第三列
改成
rs.getString(0)或rs.getString(1)
jcq 2003-03-03
  • 打赏
  • 举报
回复
st是你的odbc名吧。

81,095

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧