2011-03-11 15 views
5

Próbuję użyć wbudowanych funkcji SQLite i nie wiem, jak sformatować zapytanie. Jak mogę sformatować klauzuli WHERE i ? że może tam wejść:Jak sformatować klauzulę WHERE i "?" w kwerendzie SQLite?

column [] = {"name"}; 
selectionArg [] = {"john}; 
Select name from mytable where id = "john" 

db.query(mytable, column, id = ?, selectionArg, null,null,null); 

nie jestem tam, gdzie mogę go przetestować, ale staram się zrobić to dobrze za pierwszym razem. Nie jestem pewien, czy ? musi być "?" lub jeśli jest to id = + "?" i tak dalej. Nie mogę znaleźć żadnych przykładów tego formatu.

Odpowiedz

18

dla zapytania:

select name from mytable where id = "john" 

użytku

(SQliteDatabase) db.query(
    "mytable" /* table */, 
    new String[] { "name" } /* columns */, 
    "id = ?" /* where or selection */, 
    new String[] { "john" } /* selectionArgs i.e. value to replace ? */, 
    null /* groupBy */, 
    null /* having */, 
    null /* orderBy */ 
); 
+0

Mam nadzieję, że nie umysł zredagowałem twoją odpowiedź, ponieważ jest to w zasadzie lepsza odpowiedź ;) – user634618

+0

Nie ma problemu ... Dzięki! – Karan

2

Użytkownik nie może używać cudzysłowów wokół znaków zapytania

przykład:

db.query(
      true, 
      "tablename", 
      new String[] { 
       "col1", 
       "col2" 
      }, 
      "col1 = ?", 
      new String[]{ "value" }, 
      null, 
      null, 
      null, 
      null 
     ); 
Powiązane problemy