Форум программистов, компьютерный форум, киберфорум
Программирование Android
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.67/3: Рейтинг темы: голосов - 3, средняя оценка - 4.67
 Аватар для Worldmen
5 / 8 / 4
Регистрация: 31.08.2013
Сообщений: 350

Ошибка в запросе к БД

14.10.2015, 21:32. Показов 675. Ответов 2
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Есть класс для работы с БД, в нем организовал метод (GetUsers) выборки пользователей:
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
 
public class DBHelper extends SQLiteOpenHelper {
 
    final String LOG_TAG = "myLogs";
    private SQLiteDatabase db;
    private String tabUsers = "Users";
 
    public DBHelper(Context context) {
        super(context, "eng_db.db", null, 1);
    }    
 
   // Список всех юзеров
    public ArrayList<String> GetUsers(SQLiteDatabase db){
        this.db = db;
        if (this.db.isOpen()){
            Log.d(LOG_TAG, "БД - открыта. -----------------");
        }else {Log.d(LOG_TAG, "БД - закрыта. -----------------");}
 
        ArrayList <String> Users = new ArrayList<>();
        Cursor cur;
        //String sql = "SELECT _id, user, date_in FROM users";
        cur = this.db.query(tabUsers, null, null, null, null, null, null);
        while (!cur.isAfterLast()){
            Users.add( cur.getString( cur.getColumnIndex("user")) ); // ТУТ РУГАЕТСЯ
            Log.d(LOG_TAG, "----- cur.getColumnIndex = " + cur.getString( cur.getColumnIndex("user")) );
            cur.moveToNext();
        }
        cur.close();
        return Users;
    }
 
    @Override
    public void onCreate(SQLiteDatabase db) {
        Log.d(LOG_TAG, "--- onCreate database ---");
 
        db.execSQL("DROP TABLE IF EXISTS Users");
        db.execSQL("DROP TABLE IF EXISTS Words");
        db.execSQL("DROP TABLE IF EXISTS Category");
 
        // создаем таблицу Пользователей
        db.execSQL("CREATE TABLE [users] (" +
                "[_id] integer NOT NULL PRIMARY KEY AUTOINCREMENT, " +
                "[user] nvarchar(50) NOT NULL," +
                "[date_in] datetime )" );
  ................
  }
Вызываю метод GetUsers так:
Java
1
2
3
        dbHelper = new DBHelper(this);
        db = dbHelper.getWritableDatabase();
        ArrayList<String> arrayUsers = dbHelper.GetUsers(db);   //- UsersActivity.java:30 // список пользователей
Лог ошибки:
Кликните здесь для просмотра всего текста
10-14 18:13:42.532 312-577/? D/dalvikvm: GC_FOR_ALLOC freed 278K, 17% free 10940K/13063K, paused 23ms, total 38ms
10-14 18:13:42.692 125-330/? W/AudioWatchdog: Insufficient CPU for load: expected=50.0 actual=152.2 ms; underruns=194 logs=29
10-14 18:13:43.200 1529-1529/? I/Choreographer: Skipped 78 frames! The application may be doing too much work on its main thread.
10-14 18:13:43.792 1529-1529/? I/dalvikvm: Could not find method android.content.res.Resources.getDrawabl e, referenced from method android.support.v7.internal.widget.Resou rcesWrapper.getDrawable
10-14 18:13:43.792 1529-1529/? W/dalvikvm: VFY: unable to resolve virtual method 379: Landroid/content/res/Resources;.getDrawable (ILandroid/content/res/Resources$ThemeLandroid/graphics/drawable/Drawable;
10-14 18:13:43.808 1529-1529/? D/dalvikvm: VFY: replacing opcode 0x6e at 0x0002
10-14 18:13:43.808 1529-1529/? I/dalvikvm: Could not find method android.content.res.Resources.getDrawabl eForDensity, referenced from method android.support.v7.internal.widget.Resou rcesWrapper.getDrawableForDensity
10-14 18:13:43.836 1529-1529/? W/dalvikvm: VFY: unable to resolve virtual method 381: Landroid/content/res/Resources;.getDrawableForDensity (IILandroid/content/res/Resources$ThemeLandroid/graphics/drawable/Drawable;
10-14 18:13:43.840 1529-1529/? D/dalvikvm: VFY: replacing opcode 0x6e at 0x0002
10-14 18:13:43.900 1529-1529/? D/myLogs: БД - открыта. -----------------
10-14 18:13:43.904 1529-1529/? D/AndroidRuntime: Shutting down VM
10-14 18:13:43.916 1529-1529/? W/dalvikvm: threadid=1: thread exiting with uncaught exception (group=0xa6298288)
10-14 18:13:43.916 1529-1529/? E/AndroidRuntime: FATAL EXCEPTION: main
10-14 18:13:43.916 1529-1529/? E/AndroidRuntime: java.lang.RuntimeException: Unable to start activity ComponentInfo{com.stetsenko.english_03/com.stetsenko.english_03.UsersActivity}: android.database.CursorIndexOutOfBoundsE xception: Index -1 requested, with a size of 1
10-14 18:13:43.916 1529-1529/? E/AndroidRuntime: at android.app.ActivityThread.performLaunch Activity(ActivityThread.java:2059)
10-14 18:13:43.916 1529-1529/? E/AndroidRuntime: at android.app.ActivityThread.handleLaunchA ctivity(ActivityThread.java:2084)
10-14 18:13:43.916 1529-1529/? E/AndroidRuntime: at android.app.ActivityThread.access$600(Ac tivityThread.java:130)
10-14 18:13:43.916 1529-1529/? E/AndroidRuntime: at android.app.ActivityThread$H.handleMessa ge(ActivityThread.java:1195)
10-14 18:13:43.916 1529-1529/? E/AndroidRuntime: at android.os.Handler.dispatchMessage(Handl er.java:99)
10-14 18:13:43.916 1529-1529/? E/AndroidRuntime: at android.os.Looper.loop(Looper.java:137)
10-14 18:13:43.916 1529-1529/? E/AndroidRuntime: at android.app.ActivityThread.main(Activity Thread.java:4745)
10-14 18:13:43.916 1529-1529/? E/AndroidRuntime: at java.lang.reflect.Method.invokeNative(Na tive Method)
10-14 18:13:43.916 1529-1529/? E/AndroidRuntime: at java.lang.reflect.Method.invoke(Method.j ava:511)
10-14 18:13:43.916 1529-1529/? E/AndroidRuntime: at com.android.internal.os.ZygoteInit$Metho dAndArgsCaller.run(ZygoteInit.java:786)
10-14 18:13:43.916 1529-1529/? E/AndroidRuntime: at com.android.internal.os.ZygoteInit.main( ZygoteInit.java:553)
10-14 18:13:43.916 1529-1529/? E/AndroidRuntime: at dalvik.system.NativeStart.main(Native Method)
10-14 18:13:43.916 1529-1529/? E/AndroidRuntime: Caused by: android.database.CursorIndexOutOfBoundsE xception: Index -1 requested, with a size of 1
10-14 18:13:43.916 1529-1529/? E/AndroidRuntime: at android.database.AbstractCursor.checkPos ition(AbstractCursor.java:418)
10-14 18:13:43.916 1529-1529/? E/AndroidRuntime: at android.database.AbstractWindowedCursor. checkPosition(AbstractWindowedCursor.jav a:136)
10-14 18:13:43.916 1529-1529/? E/AndroidRuntime: at android.database.AbstractWindowedCursor. getString(AbstractWindowedCursor.java:50 )
10-14 18:13:43.916 1529-1529/? E/AndroidRuntime: at com.stetsenko.english_03.DBHelper.GetUse rs(DBHelper.java:40)
10-14 18:13:43.916 1529-1529/? E/AndroidRuntime: at com.stetsenko.english_03.UsersActivity.o nCreate(UsersActivity.java:30)

10-14 18:13:43.916 1529-1529/? E/AndroidRuntime: at android.app.Activity.performCreate(Activ ity.java:5008)
10-14 18:13:43.916 1529-1529/? E/AndroidRuntime: at android.app.Instrumentation.callActivity OnCreate(Instrumentation.java:1079)
10-14 18:13:43.916 1529-1529/? E/AndroidRuntime: at android.app.ActivityThread.performLaunch Activity(ActivityThread.java:2023)
10-14 18:13:43.916 1529-1529/? E/AndroidRuntime: at android.app.ActivityThread.handleLaunchA ctivity(ActivityThread.java:2084)*
10-14 18:13:43.916 1529-1529/? E/AndroidRuntime: at android.app.ActivityThread.access$600(Ac tivityThread.java:130)*
10-14 18:13:43.916 1529-1529/? E/AndroidRuntime: at android.app.ActivityThread$H.handleMessa ge(ActivityThread.java:1195)*
10-14 18:13:43.916 1529-1529/? E/AndroidRuntime: at android.os.Handler.dispatchMessage(Handl er.java:99)*
10-14 18:13:43.916 1529-1529/? E/AndroidRuntime: at android.os.Looper.loop(Looper.java:137)*
10-14 18:13:43.916 1529-1529/? E/AndroidRuntime: at android.app.ActivityThread.main(Activity Thread.java:4745)*
10-14 18:13:43.916 1529-1529/? E/AndroidRuntime: at java.lang.reflect.Method.invokeNative(Na tive Method)*
10-14 18:13:43.916 1529-1529/? E/AndroidRuntime: at java.lang.reflect.Method.invoke(Method.j ava:511)*
10-14 18:13:43.916 1529-1529/? E/AndroidRuntime: at com.android.internal.os.ZygoteInit$Metho dAndArgsCaller.run(ZygoteInit.java:786)*
10-14 18:13:43.916 1529-1529/? E/AndroidRuntime: at com.android.internal.os.ZygoteInit.main( ZygoteInit.java:553)*
10-14 18:13:43.916 1529-1529/? E/AndroidRuntime: at dalvik.system.NativeStart.main(Native Method)*
10-14 18:13:43.948 312-323/? W/ActivityManager: Force finishing activity com.stetsenko.english_03/.UsersActivity
10-14 18:13:43.952 312-323/? W/ActivityManager: Force finishing activity com.stetsenko.english_03/.MainActivity
10-14 18:13:44.452 312-325/? W/ActivityManager: Activity pause timeout for ActivityRecord{536943a4 com.stetsenko.english_03/.UsersActivity}
10-14 18:13:44.828 312-366/? I/qtaguid: Failed write_ctrl(s 1 10021) res=-1 errno=1
10-14 18:13:44.832 312-366/? W/NetworkManagementSocketTagger: setKernelCountSet(10021, 1) failed with errno -1
10-14 18:13:44.944 496-496/? W/EGL_genymotion: eglSurfaceAttrib not implemented
10-14 18:13:45.228 496-496/? D/OpenGLRenderer: TextureCache::get: create texture(0xb956cef8): name, size, mSize = 408, 1200, 692688

Не могу понять, что в этой строке не правильно:
Java
1
Users.add( cur.getString( cur.getColumnIndex("user")) ); // ТУТ РУГАЕТСЯ
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
14.10.2015, 21:32
Ответы с готовыми решениями:

Ошибка в запросе
Нужен такой запрос: SELECT WORDRUS FROM WORd_level3 WHERE WORDENG=&quot;borrow&quot; (слово к примеру). При выполнении такого запроса в DB Browser...

Возникает ошибка при запросе
package com.example.ks; /** * Created by Denis on 08.09.2016. */ import java.util.ArrayList; import java.util.List; ...

Ошибка в POST запросе, retrofit2 googledrive
Здравствуйте, хочу выполнить запрос На сохранение картинки на сервер GoogleDrive Api с помощью Retrofit2, помогите найти ошибку, ошибка в...

2
Эксперт С++
 Аватар для schdub
3073 / 1411 / 425
Регистрация: 19.01.2009
Сообщений: 3,894
14.10.2015, 22:17
Worldmen, а в базе пусто? Вы скорее всего указали не верное условие выхода из while.
Вот пример использования курсора:
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
Cursor c = sampleDB.rawQuery("SELECT FirstName, Age FROM mytable " +
           "where Age > 10 LIMIT 5", null);
 
if (c != null ) {
    if  (c.moveToFirst()) {
        do {
            String firstName = c.getString(c.getColumnIndex("FirstName"));
            int age = c.getInt(c.getColumnIndex("Age"));
            results.add("" + firstName + ",Age: " + age);
        }while (c.moveToNext());
    }
}
c.close();
1
535 / 504 / 114
Регистрация: 12.03.2014
Сообщений: 1,671
15.10.2015, 09:43
Цитата Сообщение от Worldmen Посмотреть сообщение
db.execSQL("CREATE TABLE [users] (" +
"[_id] integer NOT NULL PRIMARY KEY AUTOINCREMENT, " +
"[user] nvarchar(50) NOT NULL," +
"[date_in] datetime )" );
А если убрать тут квадратные скобки?
Цитата Сообщение от schdub Посмотреть сообщение
if (c != null ) {
if (c.moveToFirst()) {
do {
String firstName = c.getString(c.getColumnIndex("FirstName" ));
int age = c.getInt(c.getColumnIndex("Age"));
results.add("" + firstName + ",Age: " + age);
}while (c.moveToNext());
}
}
А зачем так сложно? Разве не достаточно такого?
Java
1
2
3
while(cursor.moveToNext()){
    //some code
}
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
15.10.2015, 09:43
Помогаю со студенческими работами здесь

Ошибка в запросе на Редактирование: ошибка синтаксиса (пропущен оператор)
string strSQL1 = &quot;UPDATE SET .='&quot; + dataGridView1.CurrentRow.Cells.Value.ToString() + &quot;',.='&quot; +...

Ошибка в запросе на вставку: ошибка синтаксиса
private void button2_Click(object sender, EventArgs e) { goods = null; goods = new ADODB.Recordset();...

Ошибка в запросе
Здравствуйте. $fludrez1 = (&quot;SELECT timediff(now(), data) &gt; 60 AS allow FROM flood_control WHERE uid ='$c' or uip='$uip'&quot;,$db); Что ему...

Ошибка в запросе?
Всем привет! Вот запрос: select maker, iif(count(pcs.pc)&gt;=1,'yes('&amp;count(pcs.pc)&amp;')' ,'no') from Product left join (select...

Ошибка в запросе
Добрый день, помогите пожалуйста найти ошибку в коде. if($categoryInfo == 'Сингл'){ $sql = mysql_query(&quot;SELECT * FROM...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Новые блоги и статьи
Модель ЗдрввоСохранения 7: больше работников, больше ресурсов.
anaschu 08.04.2026
работников и заданий может быть сколько угодно, но настроено всё так, что используется пока что только 20%
Дальние перспективы сервера - слоя сети с космологическим дизайном интефейса карты и логики.
Hrethgir 07.04.2026
Дальнейшее ближайшее планирование вывело к размышлениям над дальними перспективами. И вот тут может быть даже будут нужны оценки специалистов, так как в дальних перспективах всё может очень сильно. . .
Горе от ума
kumehtar 07.04.2026
Эта мне ментальная установка, что вот прямо сейчас, мол, мне для полного счастья не хватает (нужное вписать), и когда я этого достигну - тогда и полный кайф. Одна из самых сильных ловушек на пути. . . .
Использование значений реквизитов справочника в документе, с определенными условиями и правами
Maks 07.04.2026
1. Контроль срока действия договора Алгоритм из решения ниже реализован на примере нетипового документа "ЗаявкаНаРаботу", разработанного в конфигурации КА2. Задача: уведомлять пользователя, если. . .
Доступность команды формы по условию
Maks 07.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: сделать доступной кнопку (команда формы "ЗавершитьСписание") при. . .
Уведомление о неверно выбранном значении справочника
Maks 06.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "НарядПутевка", разработанного в конфигурации КА2. Задача: уведомлять пользователя, если в документе выбран неверный склад. . .
Установка Qt Creator для C и C++: ставим среду, CMake и MinGW без фреймворка Qt
8Observer8 05.04.2026
Среду разработки Qt Creator можно установить без фреймворка Qt. Есть отдельный репозиторий для этой среды: https:/ / github. com/ qt-creator/ qt-creator, где можно скачать установщик, на вкладке Releases:. . .
AkelPad-скрипты, структуры, и немного лирики..
testuser2 05.04.2026
Такая программа, как AkelPad существует уже давно, и также давно существуют скрипты под нее. Тем не менее, прога живет, периодически что-то не спеша дополняется, улучшается. Что меня в первую очередь. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru