师哥师姐帮忙,实在是找不出原因

07-10-16 yulu916
public CheckRe getCheckReByProConIDAndKind(String proCon_ID, String kind) {

StringBuffer buffer = new StringBuffer();

buffer.append("select * from "+SQL_TABLE+" where proCon_ID='"+proCon_ID+"'");

if(!kind.equals("")||kind!=null)

buffer.append("and checkReKind='"+kind+"'");

DBManager manager = new DBManager(buffer.toString(),true);

ResultSet rs = null;

CheckRe row = null;

//��ѯ��¼

try {

manager.setString(1,proCon_ID);

rs = manager.executeQuery();

if (rs.next()) {

CheckReRowExtractor extractor = new CheckReRowExtractor();

row = (CheckRe)extractor.extract(rs);

}

} catch (SQLException sqle) {

log.warn("��ѯ��Ŀ��Ϣ����"+sqle.getMessage(),sqle);

}

//�ͷ�l��

manager.close();

DBUtil.close(rs);

manager = null;

return row;

}

调用次方法得不到记录,同样的sql语句在数据库里面却能取到数据,想了很久,实在不明白上什么原因,请帮忙分析下,谢谢了!

banq
2007-10-17 08:46
我也无法帮助你,不过你这个案例可以说明你采取的这个方法本身有问题,使用复杂数据库SQl作为业务功能实现时,出现问题很难定位,除非借助那些SQL调试。

那么另外一个方法是什么?就是采取OO方式,OO难道不写SQL语句吗?需要,但是都是简单的SQL语句,复杂的业务功能在Java程序中实现,通过软件调试工具就很方便。

yulu916
2007-10-17 13:10
你讲的我懂一点,确实是这样的,如果能采用像struts,hibernate可能会使操作变的明郎的,关键是在这里没用上,应该是在设计的时候就存在缺陷了吧,呵呵!错误在昨天下班之前终于解决了.谢谢回复!

猜你喜欢