2016-03-30 29 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コールの2番目のパラメータを削除してください。

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

のみを使用:これはSQLiteDatabase.javaからExecSqlのコードである

db.execSQL(query); 
関連する問題