0

5つの列があり、5つの列からデータを検索したいのですが、列の値が5を超える可能性があり、固定されていません。

列名

名、姓、件名、結果、成績。

sqliteを使用して複数の値を検索したい(名はa、b、c、dにすることができます)

これを達成する方法は??

どんな助けでもいただければ幸いです。

4

2 に答える 2

2

SQLiteでキーワードを使用INすると、複数の値のセットで検索を実行できます。例えば:

SELECT * FROM table WHERE first-name IN ('a', 'b', 'c', 'd');

ここでできることは、任意のループを使用して入力(検索可能な単語)パラメーターを作成し、それをIN角かっこで置き換えることです。

例えば:

String names = "'a', 'b', 'c', 'd'";      /* build it through loop */

Cursor c = db.rawQuery("SELECT * FROM table WHERE first-name IN (?)",
              new String[]{names});

複数の列がある場合:

String names = "'a', 'b', 'c', 'd'";      /* build it through loop */

Cursor c = db.rawQuery("SELECT * FROM table WHERE first-name IN (?)
         OR last-name IN (?) OR subject IN (?) OR result IN (?) OR grade IN (?)",
         new String[]{names, names, names, names, names});
于 2012-08-29T08:04:10.943 に答える
0
String[] names = new String[3];
String QueryArgs ="";   
for(int index=0;index < 3;index++)
{
      QueryArgs = QueryArgs.concat(",?");
      names [index] = "xyz";
}
QueryArgs = QueryArgs.substring(1);

Cursor dataset = db.rawquery("select * from table where name in(" +QueryArgs+ ")",names);
于 2013-10-18T13:49:28.190 に答える