2013-09-25 49 views
0

我正在处理与Sqlite数据库进行通信的应用程序。这是Java应用程序。虽然我在这里有一个关于数据库通信的小问题。 这是为了建立一个关系,SQL查询:由于错误的SQL查询导致的异常

dao.createTable(connect, "CREATE TABLE IF NOT EXISTS volume.PERSON (PERSON_ID INTEGER PRIMARY KEY ASC NOT NULL, LAST_NAME TEXT, FIRST_NAME TEXT, STREET TEXT, CITY TEXT);"); 

@Override 
    public void createTable(Connection connect, String sql){ 
     try { 
      Statement statement = connect.createStatement();    
      Boolean result = statement.execute(sql); 

     } catch (SQLException e) { 
      // TODO Auto-generated catch block 
      e.printStackTrace(); 
     } 
    } 

} 

下面一行(Boolean result = statement.execute(sql);)导致NullPointerException异常:

Exception in thread "main" java.lang.NullPointerException 
    at org.sqlite.Stmt.execute(Stmt.java:113) 
    at database.ImplementationDAO.createTable(ImplementationDAO.java:25) 
    at main.TestPoint.main(TestPoint.java:32) 

也有一些是错误的SQL查询,但我没有得到什么问题是什么? 有什么建议吗? 此致敬礼

+0

请看上面的方法定义。 – ucas

+1

你在哪里初始化变量 - sql? –

+1

你似乎没有用String文字来调用它。 'sql'变量似乎是'null'。 –

回答

1

看起来你的数据库连接已关闭,请尝试调用connect.isClosed()来验证。

相关问题