帮忙看看下面的javaBean有什么问题?

goldhard 2003-08-23 05:39:11
import java.sql.*;
public class DBconn{
String DBDriver="sun.jdbc.odbc.JdbcOdbcDriver";
String ConnStr="jdbc:odbc:Customers";
Connection conn=null;
ResultSet rs=null;
public DBconn{
try {
Class.forName(DBDriver);
}
catch(java.lang.ClassNotFoundException e){
System.err.println("DBconn():"+e.getMassage());
}
}
public ResultSet executeQuery(String sql){
rs=null;
try{
conn=DriverManager.getConnection(ConStr);
Statement stmt=conn.createStatement();
rs=stmt.executeQuery(sql);
}
catch(SQLException ex){
System.err.print("aq.executeQuery:"+ex.getMessage()):
}
return rs;
}
}
...全文
26 14 打赏 收藏 转发到动态 举报
写回复
用AI写文章
14 条回复
切换为时间正序
请发表友善的回复…
发表回复
goldhard 2003-08-24
  • 打赏
  • 举报
回复
o,
refuge 2003-08-24
  • 打赏
  • 举报
回复
还是有错误,
refuge 2003-08-24
  • 打赏
  • 举报
回复
o,
diewikwang 2003-08-24
  • 打赏
  • 举报
回复
我说在DBconn后面加一对括号()啊
diewikwang 2003-08-24
  • 打赏
  • 举报
回复
你不会自己检查一下的吗?
F:\wangf\WEB-INF\DBconn.java:23: ';' expected
System.err.print("aq.executeQuery:"+ex.getMessage()):
~~;
F:\wangf\WEB-INF\DBconn.java:12: cannot resolve symbol
symbol : method getMassage ()
location: class java.lang.ClassNotFoundException
System.err.println("DBconn():"+e.getMassage());
~~~~~~~~e.getMessage()
F:\wangf\WEB-INF\DBconn.java:18: cannot resolve symbol
symbol : variable ConStr
location: class DBconn
conn=DriverManager.getConnection(ConStr);
~~~~~~ConnStr
goldhard 2003-08-24
  • 打赏
  • 举报
回复
是啊,跟我的错误一样的,怎么改?
diewikwang 2003-08-24
  • 打赏
  • 举报
回复
但是我在运行是说:DBconn.java:7:(identifier) expected
public DBconn{
~~~~这里漏了 ()
^
DBconn.java:26:';' expected
}
^

另外如果你真是要直接返回resultset,就不要close connection了
goldhard 2003-08-24
  • 打赏
  • 举报
回复
在Bean里close?
zeusguitar 2003-08-24
  • 打赏
  • 举报
回复
conn
rs
一定要close掉吧
goldhard 2003-08-24
  • 打赏
  • 举报
回复
F:\wangf\WEB-INF\DBconn.java:23: ';' expected
System.err.print("aq.executeQuery:"+ex.getMessage()):
F:\wangf\WEB-INF\DBconn.java:12: cannot resolve symbol
symbol : method getMassage ()
location: class java.lang.ClassNotFoundException
System.err.println("DBconn():"+e.getMassage());
F:\wangf\WEB-INF\DBconn.java:18: cannot resolve symbol
symbol : variable ConStr
location: class DBconn
conn=DriverManager.getConnection(ConStr);
diewikwang 2003-08-24
  • 打赏
  • 举报
回复
什么错误?
goldhard 2003-08-23
  • 打赏
  • 举报
回复
但是我在运行是说:DBconn.java:7:(identifier) expected
public DBconn{
^
DBconn.java:26:';' expected
}
^
2 errors
问一下就是用专门的jdbc数据库驱动,
是不是只要把驱动类文件放到classpath环境变量中,然后把上面的String DBDriver="sun.jdbc.odbc.JdbcOdbcDriver";
String ConnStr="jdbc:odbc:Customers";
改下就可以了?

bromon 2003-08-23
  • 打赏
  • 举报
回复
String DBDriver="sun.jdbc.odbc.JdbcOdbcDriver";
String ConnStr="jdbc:odbc:Customers";
Connection conn=null;
ResultSet rs=null;


这些属性应该定义为static
bromon 2003-08-23
  • 打赏
  • 举报
回复
有什么问题??程序本身是对的(如果你没有打错字的话),不过有两个地方不合适

一是连接数据库时使用了jdbc-odbc桥的方式,连接数少的时候速度比较快,但是如果并发连接数比较大,比如20以上,效率成问题,建议换成专门的java数据库驱动来做,负载能力会强得多.

二是javabean返回了一个rs,这就意味着必须保持这个数据库连接,才能保证这个rs能够被jsp或者是servlet使用,这样做非常浪费服务器资源.jdbc里面有多种数据集,比如rowset,webset等,可以关闭数据库连接脱机使用.也可以把数据读出来放到hashtable或者list里,在返回给jsp/servlet,都是比较好的选择.

81,091

社区成员

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

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