我的毕业设计是做一个能在局域网实现的答辩系统,我采用的数据库是Access,由于初学Java,目前界面已经做完,现在是数据库连接一块,我的库名是ReplaySystem,现调用表AcousticsItem中的数据,该表中四个字段分别为:题号、难度代码、题目内容、题目答案。我的数据库部分代码如下:
else if(e.getSource()==jrb5&&e.getSource()==抽题){
try {
Class.forName("sun.jdbc.odbc.JdbcOdbcDrivwe");
} catch (ClassNotFoundException e1) {
e1.printStackTrace();
}
String url = "jdbc:odbc:ReplaySystem";
try {
connection = DriverManager.getConnection(url);
} catch (SQLException e1) {
e1.printStackTrace();
}
try {
stmt = connection.createStatemenet (ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE);
} catch (SQLException e1) {
e1.printStackTrace();
}
String sql="select * from AcousticsItem where 题号=1";
try {
rSet = stmt.executeQuery(sql);
} catch (SQLException e1) {
e1.printStackTrace();
} //执行题号为输入题号的查询语句
try {
lb1.setText(rSet.getString("题目内容"));
} catch (SQLException e1) {
e1.printStackTrace();
}
try {
lb2.setText(rSet.getString("题目答案"));
} catch (SQLException e1) {
e1.printStackTrace();
}
try {
rSet.close();
} catch (SQLException e1) {
e1.printStackTrace();
}
}
else if(e.getSource()==jrb5&&e.getSource()==抽题){
try {
Class.forName("sun.jdbc.odbc.JdbcOdbcDrivwe");
} catch (ClassNotFoundException e1) {
e1.printStackTrace();
}
String url = "jdbc:odbc:ReplaySystem";
try {
connection = DriverManager.getConnection(url);
} catch (SQLException e1) {
e1.printStackTrace();
}
try {
stmt = connection.createStatemenet (ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE);
} catch (SQLException e1) {
e1.printStackTrace();
}
String sql="select * from AcousticsItem where 题号=1";
try {
rSet = stmt.executeQuery(sql);
} catch (SQLException e1) {
e1.printStackTrace();
} //执行题号为输入题号的查询语句
try {
lb1.setText(rSet.getString("题目内容"));
} catch (SQLException e1) {
e1.printStackTrace();
}
try {
lb2.setText(rSet.getString("题目答案"));
} catch (SQLException e1) {
e1.printStackTrace();
}
try {
rSet.close();
} catch (SQLException e1) {
e1.printStackTrace();
}
}
很不起眼的小错误“==”
看到你用的是jdbc-odbc桥,需要到系统配置一下。或者直接把这段代码拎出来,测试一下是否能运行,是否有错误。好运。
试试看吧,俺也只能到这里了。
"抽题"?你的哪个button的名字是中文么?怎么可能啊,应该是ActionCommand吧?else if(e.getSource() == jrb5&& e.getActionCommand().equals("抽题"))
而且楼主的程序要解决的问题不复杂,但是写的太复杂,把try...catch...finally整合一下,而且数据库还没有关好,rSet.close(); 应该在一个finally块中执行,里面套个try...catch-----------------------------------------------------------------------
把不同的异常放在不同的 CATCH 中处理是好习惯, 用代码换出错细节, 值得!
想精简可以用 try catch catch catch ... finally在 finally 中进行数据库关闭是好方法, 应提倡. 楼主的 rSet 没有 getNext()!我想这应该是主要原因!