Страница 1 из 1
метод qwery и создание бд
Добавлено: 08 июн 2014, 19:50
alexmx
Доброго времени суток.
Что происходит если отправить запрос через qwery в пустую таблицу sqlite?
Re: метод qwery и создание бд
Добавлено: 08 июн 2014, 20:09
Foenix
А что должно происходить? ПРоисходит то же самое что и с непустой таблицей, но результат вернется - пустой курсор
Re: метод qwery и создание бд
Добавлено: 08 июн 2014, 20:17
alexmx
Где то накасячил:
06-08 23:16:28.609: E/AndroidRuntime(21430): android.database.CursorIndexOutOfBoundsException: Index 0 requested, with a size of 0
06-08 23:16:28.609: E/AndroidRuntime(21430): at android.database.AbstractCursor.checkPosition(AbstractCursor.java:418)
06-08 23:16:28.609: E/AndroidRuntime(21430): at android.database.AbstractWindowedCursor.checkPosition(AbstractWindowedCursor.java:136)
06-08 23:16:28.609: E/AndroidRuntime(21430): at android.database.AbstractWindowedCursor.getString(AbstractWindowedCursor.java:50)
06-08 23:16:28.609: E/AndroidRuntime(21430): at android.database.CursorWrapper.getString(CursorWrapper.java:114)
06-08 23:16:28.609: E/AndroidRuntime(21430): at ru.systemtehnolodgi.stav.PlaceholderFragment.setNullLine(PlaceholderFragment.java:92)
06-08 23:16:28.609: E/AndroidRuntime(21430): at ru.systemtehnolodgi.stav.PlaceholderFragment.onLoadFinished(PlaceholderFragment.java:65)
06-08 23:16:28.609: E/AndroidRuntime(21430): at ru.systemtehnolodgi.stav.PlaceholderFragment.onLoadFinished(PlaceholderFragment.java:1)
06-08 23:16:28.609: E/AndroidRuntime(21430): at android.app.LoaderManagerImpl$LoaderInfo.callOnLoadFinished(LoaderManager.java:482)
06-08 23:16:28.609: E/AndroidRuntime(21430): at android.app.LoaderManagerImpl$LoaderInfo.onLoadComplete(LoaderManager.java:450)
06-08 23:16:28.609: E/AndroidRuntime(21430): at android.content.Loader.deliverResult(Loader.java:143)
06-08 23:16:28.609: E/AndroidRuntime(21430): at android.content.CursorLoader.deliverResult(CursorLoader.java:113)
06-08 23:16:28.609: E/AndroidRuntime(21430): at android.content.CursorLoader.deliverResult(CursorLoader.java:43)
06-08 23:16:28.609: E/AndroidRuntime(21430): at android.content.AsyncTaskLoader.dispatchOnLoadComplete(AsyncTaskLoader.java:254)
06-08 23:16:28.609: E/AndroidRuntime(21430): at android.content.AsyncTaskLoader$LoadTask.onPostExecute(AsyncTaskLoader.java:91)
06-08 23:16:28.609: E/AndroidRuntime(21430): at android.os.AsyncTask.finish(AsyncTask.java:631)
06-08 23:16:28.609: E/AndroidRuntime(21430): at android.os.AsyncTask.access$600(AsyncTask.java:177)
06-08 23:16:28.609: E/AndroidRuntime(21430): at android.os.AsyncTask$InternalHandler.handleMessage(AsyncTask.java:644)
06-08 23:16:28.609: E/AndroidRuntime(21430): at android.os.Handler.dispatchMessage(Handler.java:99)
06-08 23:16:28.609: E/AndroidRuntime(21430): at android.os.Looper.loop(Looper.java:137)
06-08 23:16:28.609: E/AndroidRuntime(21430): at android.app.ActivityThread.main(ActivityThread.java:4921)
06-08 23:16:28.609: E/AndroidRuntime(21430): at java.lang.reflect.Method.invokeNative(Native Method)
06-08 23:16:28.609: E/AndroidRuntime(21430): at java.lang.reflect.Method.invoke(Method.java:511)
06-08 23:16:28.609: E/AndroidRuntime(21430): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1038)
06-08 23:16:28.609: E/AndroidRuntime(21430): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:805)
06-08 23:16:28.609: E/AndroidRuntime(21430): at dalvik.system.NativeStart.main(Native Method)
Re: метод qwery и создание бд
Добавлено: 08 июн 2014, 20:21
alexmx
Вот строка на которую тычет:
[syntax=java]String posit = cLine.getString(cLine.getColumnIndex(CATALOG_NAME));[/syntax]
Re: метод qwery и создание бд
Добавлено: 08 июн 2014, 20:22
alexmx
Получаю строку из null. Из за этого?
Re: метод qwery и создание бд
Добавлено: 08 июн 2014, 20:59
alexmx
А как проверить пустой курсор или нет??? Пробовал так if(cursor != null), но он оказывается не совсем пустой
Re: метод qwery и создание бд
Добавлено: 08 июн 2014, 21:08
Foenix
я как-то не задумывалась над этим. Вначале проверяю нулл или нет, а потом всегда
if ( cursor.moveToFirst() ) {
//значит записи есть
} else {
// нету
}
Re: метод qwery и создание бд
Добавлено: 08 июн 2014, 21:09
Foenix
еще у курсора есть getCount()
Re: метод qwery и создание бд
Добавлено: 08 июн 2014, 21:10
Foenix
alexmx писал(а):А как проверить пустой курсор или нет??? Пробовал так if(cursor != null), но он оказывается не совсем пустой
эту проверку ставлю когда закрываю курсор.
Re: метод qwery и создание бд
Добавлено: 09 июн 2014, 13:57
alexmx
Мне просто точно нужно знать что курсор пустой, я ради интереса после запроса получив пустой курсор вставил его в system.out.println , в итоге получил в консоли нечто похожее на ссылку на contentresolver. Вывод - он приходит не совсем пустой. В общем getCount() мне в помощь)))) Сяпоньки тебе))))