数据库疑难异常

Silenthunter 2004-10-03 11:24:53
JavaBean里有如下的方法
public ResultSet executeQuery( )
{
try
{
Class.forName( driver ) ; //注册驱动程序用何类包
}

catch ( java.lang.ClassNotFoundException e )
{
System.err.println( "Error at JavaBean Constructor DBConn.DBConn():"
+ e.getMessage() + "疑为注册驱动类包错误" ) ;
//输出本Bean构造函数处的错误信息
}

ResultSet rs = null ; //初始化清空查询结果集

try
{
conn = DriverManager.getConnection( url , user , password ) ; //创建数据库连接对象
stmt = conn.createStatement() ;
rs = stmt.executeQuery("SELECT NEWPDCTADV_ID,NEWPDCTADV_TITLE FROM NEWPRODUCTSADV WHERE IF_ShowOn = '1';") ;
}
catch ( SQLException ex )
{
System.err.println( "Error at JavaBean DBConn.executeQuery():"
+ ex.getMessage() + "疑为数据库查询错误" ) ;
//捕获并输出错误在于本javabean的executeQuery()方法
}
return rs ;
}

总是出错
后来认真查错 发现错误在
conn = DriverManager.getConnection( url , user , password ) ; //创建数据库连接对象
stmt = conn.createStatement() ;
rs = stmt.executeQuery("SELECT NEWPDCTADV_ID,NEWPDCTADV_TITLE FROM NEWPRODUCTSADV WHERE IF_ShowOn = '1';") ;处 抛出异常内容是ex.getMessage() 无效的字符,解决了一天,未果
请高手示下
...全文
41 点赞 收藏 4
写回复
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
jFresH_MaN 2005-02-20
rs = stmt.executeQuery("SELECT NEWPDCTADV_ID,NEWPDCTADV_TITLE FROM NEWPRODUCTSADV WHERE IF_ShowOn = '1';") ;
通过异常信息可以肯定的是问题是这条语句
不知道你的字段名和表名是不是拼错了
回复
Silenthunter 2005-02-20
你是第4个使用返回ResultSet的。
什么意思
回复
Silenthunter 2005-02-20
谢谢 楼上的指教
回复
禽兽v5 2004-10-03
你是第4个使用返回ResultSet的。

ResultSet使用完后要关闭。但是所使用的Connection对象也要关闭,不然程序会因为数据库连接资源耗尽而崩溃。

这种设计和没封装没什么两样。

另外,对于提示错误字符,你把sql放到数据库的sql执行器中执行一下看看。
回复
发动态
发帖子
Web 开发
创建于2007-09-28

7.9w+

社区成员

Java Web 开发
申请成为版主
社区公告
暂无公告