public ResultSet getRes(String id){
DBAccess db=DBAccess.getInstance();//数据库连接
String sql= "select " +
"title_id, " +
"board_id, " +
"title, " +
"t_content, " +
"(select count(id) from Reply where id=Title_info.title_id) as reply_count " +
"from Title_info "+
"where board_id='"+id+"'";
ResultSet rst = db.sendQuery(sql); //查询操作
return rst;
}上面是一个bean里的获取一个数据集的函数, 在eclipse里调试的时候显示rst始终为空(数据库连接一定没问题),
是不是SQL语句的语法问题啊,但我在查询分析器里测试了这个sql语句,有结果的~ 帮帮忙啊,看了好长时间都没发现什么.
DBAccess db=DBAccess.getInstance();//数据库连接
String sql= "select " +
"title_id, " +
"board_id, " +
"title, " +
"t_content, " +
"(select count(id) from Reply where id=Title_info.title_id) as reply_count " +
"from Title_info "+
"where board_id='"+id+"'";
ResultSet rst = db.sendQuery(sql); //查询操作
return rst;
}上面是一个bean里的获取一个数据集的函数, 在eclipse里调试的时候显示rst始终为空(数据库连接一定没问题),
是不是SQL语句的语法问题啊,但我在查询分析器里测试了这个sql语句,有结果的~ 帮帮忙啊,看了好长时间都没发现什么.
解决方案 »
- 从SVN版本库检出的J2EE项目如何在本地运行
- 如何用ASP实现在提交表单到数据库的同时发一份邮件通知到我的邮箱或QQ
- 购物车
- j2ee 里边什么是连接池,好处,如何实现?
- 关于Tomcat 5.0运行 jsp出错问题????
- 请教 tomcat下的程序移植到jdeveloper里出现的问题
- 一个关于Hibernate奇怪的问题
- EXT如何生成单元格id
- 请教一个js方面的问题
- 关于图片显示的简单问题
- struts 做一个更新功能 JSP页面中用了个的 link 到 action里做更新....更新完成之后回到页面, 想弹出来一个对话框,显示更新成功,该怎么做?
- 求一个jsp里面的动态多级菜单的显示。
-----------------------
这个怎么判断为空的?另:
不报错?打印下sql语句看看
这段代码应该没问题吧~
"select " +
"title_id, " +
"board_id, " +
----------------------》
"select " +
"title_id," +
"board_id," + 列名逗号后的空格去掉试试
不过这个应该不影响啊,lz还是打印输出下看看,然后用打印出的语句放入查询分析器执行
如果不为空就是你sql的问题,如果不是就是你程序有问题.
而且 在函数里你应该捕获异常啊.
但就是找不出这个sql语句有什么问题.
最后发现只要把上面这个字段去了rst就不为空, 但是整个sql语句在控制台中打印出来,再到查询分析器里运行,是我预期的结果啊~
我是不是撞鬼了啊,怎么会这样
说sql语句是错的,但在查询分析器里运行正常, 说程序有问题,但换其他的sql语句程序运行正常,
我真的是找不出还有其他原因来解释这个了,大家说说看还有其他什么可能性会获取不到数据集的,以前遇到问题自己慢慢调试还可以出来,但这次....
改为 "(select count(id) from Reply where id=title_id) as reply_count "
试下看
以前遇到过。但看LZ的代码中貌似没此类问题,呵呵
sql应该没有问题,看看你这里面是否因为抛出异常而return null了?
还要注意id的参数!(如果传这样的呢? a'f )用PreparedStatement代替Statement的拼接要方便许多,还防注入。
ResultSet rs;
try {
rs = m_stmt.executeQuery(sql);
System.out.println("查询操作....");
return rs;
} catch (SQLException e) {
e.printStackTrace();
return null; //我在这打了个断点因为异常而return了null
}
}谢谢bootupnow的提醒啊,id我看了里面是正确的,上面就是DBAccess类里sendQuery函数的内容,下面是报错的关键内容,不知道是什么原因java.sql.SQLException: [Microsoft][SQLServer 2000 Driver for JDBC][SQLServer]'title_idcount' 不是可以识别的 函数名。
at com.microsoft.jdbc.base.BaseExceptions.createException(Unknown Source)
at com.microsoft.jdbc.base.BaseExceptions.getException(Unknown Source)最近也是刚学着做简单的BBS. 不知道我上面表达清楚了没,还望多指教啊~
仔细检查之。
改成select count(Reply.id) from Reply,Title_info where Reply.id=Title_info.title_id) as reply_count
试试
谢谢bootupnow ,jiaping108和其他朋友的解答~