2016-02-07 2 views
0
mydb.execSQL("CREATE TABLE IF NOT EXISTS customer " + " (id INT(10) NOT NULL , name_surname VARCHAR (50) NOT NULL , card INT(10) NOT NULL , PRIMARY KEY(id));"); 
mydb.execSQL("INSERT INTO customer (id, name_surname , card) VALUES ('194', 'aaa' , '21');"); 

Cursor cursor = ajcinemaDB.rawQuery("SELECT * FROM customer WHERE name_surname=? " , new String[] {"aaa"}); 


    int idColumn = cursor.getColumnIndex("id"); 
    int name_surnameColumn = cursor.getColumnIndex("name_surname"); 
    int cardColumn = cursor.getColumnIndex("card"); 


    cursor.moveToFirst(); 


    if(cursor != null && (cursor.getCount() > 0)){ 

     do { 


      String id = cursor.getString(idColumn); 
      String name_surname = cursor.getString(name_surnameColumn); 
      String card = cursor.getString(cardColumn); 

      custinfo = custinfo + card + "\n"; 


     }while(cursor.moveToNext()); 

    } else { 
     Toast.makeText(this, "No Results ", Toast.LENGTH_SHORT).show(); 
    } 

Почему это, где предложение ничего не возвращает?Предложение SQLite WHERE не работает с VARCHAR

Это конкретное предложение работает для id (int), но не для name_surname (varchar).

Я пробовал регулярный и сырой запрос также, те же результаты.

Любые идеи?

+1

Возможный дубликат [Как форматировать условие WHERE и '?' в SQLite-запросе?] (http://stackoverflow.com/questions/5276099/how-to-format-the-where-clause-and-in-a-sqlite-query) –

+0

Это не дублирование, это особенно о rawQuery и VARCHAR. – Alkiviadis95

+0

Неважно, если речь идет о VARCHAR. Запрос - это запрос и использование обычного метода запроса, а не rawQuery может привести к правильным результатам. –

ответ

0

Попробуйте следующее заявление rawQuery:

  1. Cursor cursor = ajcinemaDB.rawQuery("SELECT id, name_surname, card FROM customer WHERE name_surname=? " , new String[] {"aaa"});

  2. Cursor cursor = ajcinemaDB.rawQuery("SELECT * FROM customer WHERE name_surname='aaa'",null);

+0

Спасибо, хотя это не имеет значения. По-видимому, проблема заключалась в изменении схемы базы данных, которая осталась незамеченной. – Alkiviadis95

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