下面是我的代码:
package com.aqlfg.sql;import java.sql.*;public class DbConn {
//private String Dbname; private Connection conn; private Statement smt; private ResultSet rs; public DbConn() {
//this.Dbname = Dbname;
try {
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
/*String url = "jdbc:odbc:Driver={Microsoft Access Driver (*.mdb)}; DBQ="
+ Dbname;
*/
String url="jdbc:odbc:JwData";
conn = DriverManager.getConnection(url);
smt = conn.createStatement();
//System.out.println("数据库连接成功!");
} catch (Exception e) {
System.out.println("数据库连接出错!"); }
} public ResultSet getData(String sql) {
try {
rs = smt.executeQuery(sql); } catch (Exception e) {
System.out.println("读取数据出错!");
}
return rs; } public void upDate(String sql) {
try {
smt.executeUpdate(sql);
} catch (Exception e) {
System.out.println("上传数据出错!");
e.printStackTrace();
}
} public void delDate(String sql) {
try {
smt.executeUpdate(sql);
} catch (Exception e) {
System.out.println("删除数据出错!");
e.printStackTrace();
}
} public void closeConn() throws SQLException {
rs.close();
smt.close();
conn.close();
} public static void main(String[] args) throws SQLException {
ResultSet r1;
int sum=0;
DbConn db = new DbConn();
db.upDate("insert into Avtemp (temp,dt)values('7','2003-03-05')");
r1 = db.getData("select * from Avtemp");
while (r1.next()) {
//System.out.println(r1.getString(2));
sum=Integer.parseInt(r1.getString(2))+sum;

}
System.out.println(sum);
}}
我想问的是在程序的最后部分while语句里面,如果去掉"//System.out.println(r1.getString(2));"前的//就会出错,提示 no found data.这是为什么呢?