2016-03-30 3 views
1

Это фрагмент из класса db, существующего в моем методе onCreate. Выше этого метода был определен конструктор с правильными аргументами.Android sqlite `db.execSQL()` is force close

Так, при его запуске, журнал выполнения для этого метода показывает, что она выполняется до 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 вызова. Это ExecSQL код из SQLiteDatabase.java:

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

только Применение:

db.execSQL(query);