Запрос к базе данных не работает - PullRequest
0 голосов
/ 13 июля 2011

Вот моя таблица:

db.execSQL("CREATE TABLE "+ callTable+" ("+ colID + " INTEGER PRIMARY KEY AUTOINCREMENT, "+ colPhNum + " TEXT, " + colDur + " INTEGER, "
           + colDate + " INTEGER, " + colDay + " TEXT, " + colYear + " INTEGER, " + colType + " TEXT, " + colStTime + " TEXT, " + colHour + " INTEGER, " + colMonth +  " INTEGER)");

и я пытаюсь выполнить этот запрос:

SQLiteDatabase db=this.getWritableDatabase();

String j = "SELECT " + colPhNum + "," + "SUM(" +colDur +") FROM " + callTable +" WHERE " + colYear + "=" + y+ " AND " +colMonth +"=" + m + " AND " +colDate + "=" + d + " AND " + colHour + ">" + h
         + " GROUP BY " + colPhNum;

Cursor c = db.rawQuery(j,null);
c.close();
return c;

Но это не работает. Это журнал ошибок:

D/AndroidRuntime(  209): Shutting down VM
W/dalvikvm(  209): threadid=3: thread exiting with uncaught exception (group=0x4001b188)
E/AndroidRuntime(  209): Uncaught handler: thread main exiting due to uncaught exception
E/AndroidRuntime(  209): java.lang.IllegalStateException: attempt to acquire a reference on a close SQLiteClosable
E/AndroidRuntime(  209):    at android.database.sqlite.SQLiteClosable.acquireReference(SQLiteClosable.java:31)
E/AndroidRuntime(  209):    at android.database.sqlite.SQLiteQuery.fillWindow(SQLiteQuery.java:69)
E/AndroidRuntime(  209):    at  android.database.sqlite.SQLiteCursor.fillWindow(SQLiteCursor.java:288)
E/AndroidRuntime(  209):    at android.database.sqlite.SQLiteCursor.getCount(SQLiteCursor.java:269)

Пожалуйста, помогите.

1 Ответ

0 голосов
/ 13 июля 2011

Перед запросом добавьте код ниже и попробуйте

db = openOrCreateDatabase ( "Databasename.db" , SQLiteDatabase.CREATE_IF_NECESSARY , ноль );

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...