2016-03-30 100 views
1

这是我的onCreate方法中存在的db类的片段。在这个方法之上定义了一个具有正确参数的构造函数。Android sqlite`db.execSQL()`强制关闭

所以,在运行它时,此方法的运行日志表明,它执行到run1.2但未进一步。


public void onCreate(SQLiteDatabase db) { 
     try{ 
      db = getWritableDatabase(); 
      db.beginTransaction(); 
      android.util.Log.w("check", "run1.1"); 
      String query = " CREATE TABLE check (id INTEGER)"; 
      android.util.Log.w("check", "run1.2"); 
      db.execSQL(query, null); 
      android.util.Log.w("check", "run1.3"); 
     } 
     catch(Exception e){ 
      android.util.Log.w("check", e.toString()); 
     } 

    } 
+0

任何人谁可以查看上面的问题! –

+1

可以请你发布你的错误日志 –

+0

@ Zubair_2024这个问题有点混乱。我改变了一点点。什么意思是“不进一步陈述”?您可能需要更精确的提供日志信息以及哪些语句未运行。 – EAA

回答

1

删除您的通话execSQL的第二个参数。这是从SQLiteDatabase.java的execSQL代码:

public void execSQL(String sql, Object[] bindArgs) throws SQLException { 
    if (bindArgs == null) { 
     throw new IllegalArgumentException("Empty bindArgs"); 
    } 
    executeSql(sql, bindArgs); 
} 

只能使用:

db.execSQL(query);