Java LoginForm:比较用户名和;来自数据库的密码
我是Java和MS Access的初学者 基本上,我需要传递用户名和密码(用MD5加密),并将其与数据库表中的数据进行比较。如果找到它,它应该返回一个布尔值true 我收到以下错误消息: 错误:java.sql.SQLException:[Microsoft][ODBC Microsoft Access驱动程序]常规错误无法打开进程0x3b0线程0xfd4 DBC 0x5a91fcc的注册表项临时(易失性)Ace DSN 这是我检查密码的功能:Java LoginForm:比较用户名和;来自数据库的密码,java,sql,database,ms-access,Java,Sql,Database,Ms Access,我是Java和MS Access的初学者 基本上,我需要传递用户名和密码(用MD5加密),并将其与数据库表中的数据进行比较。如果找到它,它应该返回一个布尔值true 我收到以下错误消息: 错误:java.sql.SQLException:[Microsoft][ODBC Microsoft Access驱动程序]常规错误无法打开进程0x3b0线程0xfd4 DBC 0x5a91fcc的注册表项临时(易失性)Ace DSN 这是我检查密码的功能: private boolean logChck(S
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;
}
似乎是权限问题-请查看MS支持部门的建议: 按照@minitech评论中的建议,从那里粘贴相关章节: 原因: 用于访问页面的帐户无权访问HKEY\U LOCAL\U MACHINE\SOFTWARE\ODBC注册表项 分辨率:
仍然不起作用。我把它扔掉了,还是一样。请帮助我找到可能的副本
ps.executeQuery(); // get rid of this one
ResultSet rs = ps.executeQuery(); // leave this one.