Я только что столкнулся с проблемой получения данных из ms access в java-программе. Я использую драйвер ucanaccess. Вот мой код
public void loginUser(){
// variables
Connection connection = null;
Statement statement = null;
ResultSet resultSet = null;
// Step 1: Loading or
// registering Oracle JDBC driver class
try {
Class.forName("net.ucanaccess.jdbc.UcanaccessDriver");
}
catch(ClassNotFoundException cnfex) {
System.out.println("Problem in loading or "
+ "registering MS Access JDBC driver");
cnfex.printStackTrace();
}
// Step 2: Opening database connection
try {
String msAccDB;
msAccDB = "C:/Users/Hidayat Ullah/Documents/Record.accdb";
String dbURL = "jdbc:ucanaccess://"
+ msAccDB;
// Step 2.A: Create and
// get connection using DriverManager class
connection = DriverManager.getConnection(dbURL);
// Step 2.B: Creating JDBC Statement
String sql= "SELECT * FROM Student WHERE studentid = ? AND password = ?";
PreparedStatement pstmt = connection.prepareStatement(sql);
//printing here loginId.getText() and loginPass.getText() always has value
//i entered in the gui
pstmt.setString(1, loginId.getText());
pstmt.setString(2,loginPass.getText());
ResultSet row = pstmt.executeQuery();
if(row.isFirst()){
JOptionPane.showMessageDialog(null, "Student ID
:"+row.getString("studentid"));
System.exit(0);
}else{
JOptionPane.showMessageDialog(null, "No such record exists in database
against this ID, either ID or Password is incorrect.");
System.exit(0);
}
. Проблема в том, что при вводе идентификатора пользователя и паролянаходится в БД, но всегда не возвращает никаких записей.что я тут не так делаю?