我是使用Java和MS Access的初学者。LoginForm:比较数据库中的用户名和密码
基本上,我需要传递一个用户名和密码(用MD5加密),并将其与我的数据库表中的数据进行比较。如果找到了,它应该返回一个布尔值true。
我收到以下错误信息:
ERROR: java.sql.SQLException: [Microsoft][ODBC Microsoft Access Driver]General error Unable to open registry key Temporary (volatile) Ace DSN for process 0x3b0 Thread 0xfd4 DBC 0x5a91fcc
这是我的检查密码功能:
private boolean logChck(String username, String password)
{
String query;
boolean login = false;
try {
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
String filename = "D:/Sand/program/JavaNetbeans/AllCodesHere/TestingCode/src/TestingCode/HotMan2.accdb";
String database = "jdbc:odbc:Driver={Microsoft Access Driver (*.mdb, *.accdb)};DBQ=";
database+= filename.trim() + ";DriverID=22;READONLY=true}";
connection = DriverManager.getConnection(database ,"","");
query = "SELECT (StfFirName, StfPassword) FROM Staff WHERE (StfFirName = ? AND StfPassword = ?)";
PreparedStatement ps = connection.prepareStatement(query);
ps.setString(1, username);
ps.setString(2, password);
ps.executeQuery();
ResultSet rs = ps.executeQuery();
String checkUser = rs.getString(1);
String checkPass = rs.getString(2);
if((checkUser.equals(username)) && (checkPass.equals(password)))
{
login = true;
}
else
{
login = false;
}
connection.close();
}
catch (Exception err) {
System.out.println("ERROR: " + err);
}
return login;
}
的可能重复[“常规错误无法打开注册表项临时(挥发性)......”从访问ODBC(HTTP:/ /stackoverflow.com/questions/26244425/general-error-unable-to-open-registry-key-temporary-volatile-from-access) –