I am writing a desktop application in Java and I am using a SQLite database. I am fetching data from SQLite studio, and it is fetched but when I get it in the application I'm getting a null pointer.
Below is the database manager class where the database is connected and functions related to db are called:
DB Class:
public class DBManager {
Connection con=null;//build connection
Statement stmt=null;//execute query
static PreparedStatement pst= null;
public DBManager(){
try {
Class.forName("org.sqlite.JDBC");
String url="jdbc:sqlite:mobileDB.db";
con=DriverManager.getConnection(url);
stmt=con.createStatement();
} catch (Exception e) {
JOptionPane.showMessageDialog(null, e);
}
}
public void insertUpdateDelete(String query){
try{
stmt.execute(query);
}catch(Exception ex){
System.out.print(ex.toString());
}
}
public ResultSet select(String query){
try{
ResultSet rs= stmt.executeQuery(query);
return rs;
}catch(Exception ex){
ex.printStackTrace();
return null;
}
}
public ResultSet getLogInRecord(String user,String pass, String role) throws SQLException {
String query="select * from Users where Username=? and Password=? and Role=?";
pst.setString(0, user);
pst.setString(1, pass);
pst.setString(2, role);
pst=con.prepareStatement(query);
ResultSet rs=pst.executeQuery();
return rs;
}
Function Calling:
btnLogin.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent arg0) {
try {
String username=txtUsername.getText(),password=txtPass.getText(),role=cmbRole.getSelectedItem().toString();
if(username.equals("")||password.equals("")||role.equals("Select")) {
JOptionPane.showMessageDialog(frame, "Please input all the data. No empty data allowed.","Empty Fields",JOptionPane.ERROR_MESSAGE);
}else {
DBManager dbm= new DBManager();
//ResultSet rs= dbm.getLogInRecord(username, password, role);
ResultSet rs=dbm.select("select * from Users where Username='admin' and Password='admin' and Role='Admin'");
if(rs.next()) {
JOptionPane.showMessageDialog(frame, "True","Error",JOptionPane.ERROR_MESSAGE);
}else {
JOptionPane.showMessageDialog(frame, "False","Error",JOptionPane.ERROR_MESSAGE);
}
}
}catch (Exception e) {
JOptionPane.showMessageDialog(frame, e,"Error",JOptionPane.ERROR_MESSAGE);
}
}
});