我是与Access连接的
但是报出这样的错误:
java.sql.SQLException: [Microsoft][ODBC Microsoft Access Driver] 参数不足,期待是 3。
我其中的代码是这样的:
String sql="select * from card where carid=? and password=?";
preStmt=con.getConnection().prepareStatement(sql);
preStmt.setString(1,cardField.getText().trim());
preStmt.setString(2,passwordField.getText().trim());
rs=preStmt.executeQuery();
if (rs.next()){
JOptionPane.showMessageDialog(frame,
"对不起您的密码与卡号不匹配,请您重新输入!",
"警告",
JOptionPane.OK_CANCEL_OPTION, null);
return; }
else {
JOptionPane.showMessageDialog(frame, "欢迎进入本网吧,希望您玩的愉快!",
"恭喜",
JOptionPane.OK_CANCEL_OPTION, null);
return;
} } catch (SQLException ex) {
System.out.println("~~~~~~~~~~~~~~~~~~~~~~~~~~~");
System.out.println("密码和卡号检验不成功!");
ex.printStackTrace(); }感觉代码是应该没有问题的
这里我稍微解释一下:
con.getConnection()是一个Connection并且连接是成功的
prestmta是PreparedStatement对象!
但是报出这样的错误:
java.sql.SQLException: [Microsoft][ODBC Microsoft Access Driver] 参数不足,期待是 3。
我其中的代码是这样的:
String sql="select * from card where carid=? and password=?";
preStmt=con.getConnection().prepareStatement(sql);
preStmt.setString(1,cardField.getText().trim());
preStmt.setString(2,passwordField.getText().trim());
rs=preStmt.executeQuery();
if (rs.next()){
JOptionPane.showMessageDialog(frame,
"对不起您的密码与卡号不匹配,请您重新输入!",
"警告",
JOptionPane.OK_CANCEL_OPTION, null);
return; }
else {
JOptionPane.showMessageDialog(frame, "欢迎进入本网吧,希望您玩的愉快!",
"恭喜",
JOptionPane.OK_CANCEL_OPTION, null);
return;
} } catch (SQLException ex) {
System.out.println("~~~~~~~~~~~~~~~~~~~~~~~~~~~");
System.out.println("密码和卡号检验不成功!");
ex.printStackTrace(); }感觉代码是应该没有问题的
这里我稍微解释一下:
con.getConnection()是一个Connection并且连接是成功的
prestmta是PreparedStatement对象!
你SQL语句写错了而已,修该SQL语句就能正常访问ACCESS