0

I am trying to retrieve saved data from my Access Database in Java but getting a nullpointerexception. I cant figure out the problem. Here s the code:

cnnct.connect();
try {
     cnnct.rs = cnnct.statement.executeQuery(getMR());
     Reception b = new Reception();
     System.out.println("adadas");
     while (cnnct.rs.next()) {
          String a = cnnct.rs.getString("MRNumber");
          String c = cnnct.rs.getString("PatientName");
          String d = cnnct.rs.getString("FatherName");
          String e = "a";//cnnct.rs.getString("Age");
          String f = cnnct.rs.getString("Address");
          String g = cnnct.rs.getString("Contact");
          String h = cnnct.rs.getString("CNIC");
          String i = cnnct.rs.getString("Consultant");
          String j = cnnct.rs.getString("Gender");
          System.out.println(b+ c);
          b.editRecord(mrNumberInput.getText(), c, d, e, f, g, h, i, j);
     }
}
catch (Exception e) {
     System.out.println(e);
}

I tried writing all the getString() methods directly into the arguments list of b.editRecord() but the problem persisted. And the cnnct is the object of the class that connects to db. It is working fine. Following is the code for getMR() function. But the problem seems to be in the block with the while loop.

public String getMR () {
    System.out.println("adads");
    String mr = mrNumberInput.getText();
    String sql = "select MRNumber, PatientName, FatherName, Age, Address, Contact, CNIC, Consultant, Gender from Patient where MRNumber = " + mr;
    return sql;
}

There are a few print statements that I wrote just to test if the code was working, they are to be ignored. Thanks

This is the error report:

1 net.ucanaccess.jdbc.UcanaccessSQLException: UCAExc:::3.0.2 user lacks privilege or object not found: MS

2 UCAExc:::3.0.2 user lacks privilege or object not found: MS

3 UCAExc:::3.0.2 user lacks privilege or object not found: MS

4 java.sql.SQLSyntaxErrorException: user lacks privilege or object not found: MS

5 [net.ucanaccess.jdbc.UcanaccessStatement.executeQuery(UcanaccessStatement.java:211), sad.ReceptionView.okButtonMouseClicked(ReceptionView.java:111), sad.ReceptionView.access$000(ReceptionView.java:14), sad.ReceptionView$1.mouseClicked(ReceptionView.java:68), java.awt.Component.processMouseEvent(Component.java:6528), javax.swing.JComponent.processMouseEvent(JComponent.java:3324), java.awt.Component.processEvent(Component.java:6290), java.awt.Container.processEvent(Container.java:2234), java.awt.Component.dispatchEventImpl(Component.java:4881), java.awt.Container.dispatchEventImpl(Container.java:2292), java.awt.Component.dispatchEvent(Component.java:4703), java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4898), java.awt.LightweightDispatcher.processMouseEvent(Container.java:4542), java.awt.LightweightDispatcher.dispatchEvent(Container.java:4462), java.awt.Container.dispatchEventImpl(Container.java:2278), java.awt.Window.dispatchEventImpl(Window.java:2750), java.awt.Component.dispatchEvent(Component.java:4703), java.awt.EventQueue.dispatchEventImpl(EventQueue.java:758), java.awt.EventQueue.access$500(EventQueue.java:97), java.awt.EventQueue$3.run(EventQueue.java:709), java.awt.EventQueue$3.run(EventQueue.java:703), java.security.AccessController.doPrivileged(Native Method), java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:75), java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:86), java.awt.EventQueue$4.run(EventQueue.java:731), java.awt.EventQueue$4.run(EventQueue.java:729), java.security.AccessController.doPrivileged(Native Method), java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:75), java.awt.EventQueue.dispatchEvent(EventQueue.java:728), java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:201), java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:116), java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:105), java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101), java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:93), java.awt.EventDispatchThread.run(EventDispatchThread.java:82)]

6 net.ucanaccess.jdbc.UcanaccessSQLException: UCAExc:::3.0.2 user lacks privilege or object not found: MS at net.ucanaccess.jdbc.UcanaccessStatement.executeQuery(UcanaccessStatement.java:211) at sad.ReceptionView.okButtonMouseClicked(ReceptionView.java:111) at sad.ReceptionView.access$000(ReceptionView.java:14) at sad.ReceptionView$1.mouseClicked(ReceptionView.java:68) at java.awt.Component.processMouseEvent(Component.java:6528) at javax.swing.JComponent.processMouseEvent(JComponent.java:3324) at java.awt.Component.processEvent(Component.java:6290) at java.awt.Container.processEvent(Container.java:2234) at java.awt.Component.dispatchEventImpl(Component.java:4881) at java.awt.Container.dispatchEventImpl(Container.java:2292) at java.awt.Component.dispatchEvent(Component.java:4703) at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4898) at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4542) at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4462) at java.awt.Container.dispatchEventImpl(Container.java:2278) at java.awt.Window.dispatchEventImpl(Window.java:2750) at java.awt.Component.dispatchEvent(Component.java:4703) at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:758) at java.awt.EventQueue.access$500(EventQueue.java:97) at java.awt.EventQueue$3.run(EventQueue.java:709) at java.awt.EventQueue$3.run(EventQueue.java:703) at java.security.AccessController.doPrivileged(Native Method) at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:75) at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:86) at java.awt.EventQueue$4.run(EventQueue.java:731) at java.awt.EventQueue$4.run(EventQueue.java:729) at java.security.AccessController.doPrivileged(Native Method) at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:75) at java.awt.EventQueue.dispatchEvent(EventQueue.java:728) at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:201) at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:116) at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:105) at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101) at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:93) at java.awt.EventDispatchThread.run(EventDispatchThread.java:82) Caused by: java.sql.SQLSyntaxErrorException: user lacks privilege or object not found: MS at org.hsqldb.jdbc.JDBCUtil.sqlException(Unknown Source) at org.hsqldb.jdbc.JDBCUtil.sqlException(Unknown Source) at org.hsqldb.jdbc.JDBCStatement.fetchResult(Unknown Source) at org.hsqldb.jdbc.JDBCStatement.executeQuery(Unknown Source) at net.ucanaccess.jdbc.UcanaccessStatement.executeQuery(UcanaccessStatement.java:208) ... 34 more Caused by: org.hsqldb.HsqlException: user lacks privilege or object not found: MS at org.hsqldb.error.Error.error(Unknown Source) at org.hsqldb.error.Error.error(Unknown Source) at org.hsqldb.ExpressionColumn.checkColumnsResolved(Unknown Source) at org.hsqldb.QueryExpression.resolve(Unknown Source) at org.hsqldb.ParserDQL.compileCursorSpecification(Unknown Source) at org.hsqldb.ParserCommand.compilePart(Unknown Source) at org.hsqldb.ParserCommand.compileStatements(Unknown Source) at org.hsqldb.Session.executeDirectStatement(Unknown Source) at org.hsqldb.Session.execute(Unknown Source) ... 37 more

Line #111 is cnnct.rs = cnnct.statement.executeQuery(getMR());

And this is my database data: enter image description here

This is the connection class: public class ConnectToDb { Connection con = null; Statement statement; ResultSet rs;

public void connect () {
    try {
        String dir = System.getProperty("user.dir"), dbName = "SAD_Database.accdb";
        String db = "jdbc:ucanaccess://" + dir  + "/" + dbName;
        con = DriverManager.getConnection(db);
        statement = con.createStatement();
        //return con;
    }

    catch (Exception e) {
        new Error().textMessage.setText("Unable to connect to database.");
        new Error().setVisible(true);
        //System.out.println(e);
    }
} 
user2978059
  • 39
  • 1
  • 5

0 Answers0