有什么问题??程序本身是对的(如果你没有打错字的话),不过有两个地方不合适一是连接数据库时使用了jdbc-odbc桥的方式,连接数少的时候速度比较快,但是如果并发连接数比较大,比如20以上,效率成问题,建议换成专门的java数据库驱动来做,负载能力会强得多.二是javabean返回了一个rs,这就意味着必须保持这个数据库连接,才能保证这个rs能够被jsp或者是servlet使用,这样做非常浪费服务器资源.jdbc里面有多种数据集,比如rowset,webset等,可以关闭数据库连接脱机使用.也可以把数据读出来放到hashtable或者list里,在返回给jsp/servlet,都是比较好的选择.
String ConnStr="jdbc:odbc:Customers";
Connection conn=null;
ResultSet rs=null;
这些属性应该定义为static
public DBconn{
^
DBconn.java:26:';' expected
}
^
2 errors
问一下就是用专门的jdbc数据库驱动,
是不是只要把驱动类文件放到classpath环境变量中,然后把上面的String DBDriver="sun.jdbc.odbc.JdbcOdbcDriver";
String ConnStr="jdbc:odbc:Customers";
改下就可以了?
rs
一定要close掉吧
public DBconn{
~~~~这里漏了 ()
^
DBconn.java:26:';' expected
}
^另外如果你真是要直接返回resultset,就不要close connection了
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);
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