2011-03-11 10 views
5

私は組み込みSQLite関数を使用しようとしていますが、私はどのようにクエリを書式設定するのか分かりません。どのように私はそこに行くことができWHERE句と?をフォーマットしない:WHERE句と '?'の書式設定方法SQLiteクエリで?

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

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

私はそれをテストすることができる場所にないんだけど、私は右の初めてそれを取得しようとしています。 ?"?"である必要があるのか​​、それともid = + "?"であるのかわからない。私はフォーマットの例を見つけることができないようです。クエリのために

答えて

18

select name from mytable where id = "john" 

使用

(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

私はあなたがないことを望みます私はあなたの答えを編集しました。基本的にはより良い答えです;) – user634618

+0

問題ありません...ありがとう! – Karan

2

あなたは疑問符の周りに引用符を使用することはできません

例:

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