2013-09-01 3 views
0

У меня есть эта функция, которая должна возвращать объект по ID из базы данных. Хотя по запрошенному идентификатору есть данные, данные не возвращаются. Может ли кто-нибудь помочь мне решить эту проблему.SQLITE не возвращает запрошенные данные

Код:

public ChildRecord getChild(int id) { 
     ChildRecord child = null; 
     Log.v("--", "success13s "); 
     Cursor c = database.rawQuery("SELECT * FROM child " + "WHERE childID=" 
       + id, null); 
     Log.v("--", "success1 2"); 
     if (c != null) 
      if (c.moveToFirst()) { 
       do { 
        int childid = c.getInt(0); 
        String parent1 = c.getString(1); 
        String parent2 = c.getString(2); 
        String name = c.getString(3); 
        String dob = c.getString(4); 
        int gender = c.getInt(5); 
        String height = c.getString(6); 
        String weight = c.getString(7); 
        String etnicity = c.getString(8); 
        int type = c.getInt(9); 
        child = new ChildRecord(childid, name, dob, gender, height, 
          weight, etnicity, type, parent1, parent2); 
       } while (c.moveToNext()); 
      } 
     Log.v("--", "success1 "); 
     return child; 
    } 

Проблема заключается в линии

Cursor c = database.rawQuery("SELECT * FROM child " + "WHERE childID=" 
        + id, null); 
+0

Какое значение имеет 'id' в этой строке? Означает ли это значение в таблице? – Simon

+0

да, но я пытаюсь выяснить, что-то не так. –

+0

Каков тип 'childID' в базе данных? Неявное преобразование типа (например, от типа 'blob' до' int') может привести к неожиданным результатам. – Trinimon

ответ

0

Я хочу, чтобы это ясно первым, если у вас есть «ребенок» стол «childID» столбцы целочисленных и имеют данные по идентификатору, в который вы проходите. В строке запроса нет ничего неправильного.

Затем вы должны проверить:

  1. Вы имеете в виду базу данных «право»

  2. Попробуйте выполнить этот запрос в диспетчере SQLite БД и посмотреть, если это дает результаты.

  3. Если вы работаете в SQLite DB manager, но результаты не получаются в коде. Проблема должна быть из вашего объекта базы данных.

Пожалуйста, попробуйте и скажите мне ваш результат.

Смежные вопросы