0

Android電話の連絡先のsqliteデータベースから行を取得するために、この選択クエリがあります。

String selection = ContactsContract.Data.MIMETYPE + " = '" + ContactsContract.CommonDataKinds.Phone.CONTENT_ITEM_TYPE + "'"
           + " AND "+ContactsContract.Data.DATA10+ " = '" + select + "'";

Log.d(LOG_TAG,"selection in update data"+selection);

c = mContext.getContentResolver().query(CONTENT_URI, Projection,selection, null, null);

どこselect = +12244004242

reqd データを取得できました。ただし、私の要件は、複数の文字列がある場合です。つまり、文字列の配列です。クエリの書き方は?

一緒にいました

String selection = ContactsContract.Data.DATA10 IN ("+select+")";

どこselect = +12244004242,+12244004245,+12244004248

ただし、値が取得されません。選択クエリの作成を手伝ってください。

4

3 に答える 3

1

IN(" + select + ") を使用してみてください

select = "'+12244004242','+12244004245','+12244004248'" を使用

于 2012-07-04T08:50:14.670 に答える
0

ネストされた OR を実行できます。

それで:

select = +12244004242 OR select=+12244004245 OR select=+12244004248
于 2012-07-04T08:31:15.557 に答える
0

トランザクション クエリを使用してみることができます。これは、次のような sqlite データベースからデータを抽出する方法です。

db = window.openDatabase("DBID", "1.0", "DBName", 50000000);
db.transaction(TableName, errorCB, successCB);
tx.executeSql('SELECT Col1, Col2 FROM TableName WHERE Col1="'+ test +'";', [], querySuccess, errorCB);

function querySuccess(tx, result) 
{
    // DO SOMETHING HERE
}

function errorCB(tx, err) {
    alert("Error processing SQL: "+err.message);
}
于 2012-07-04T09:33:11.983 に答える