繁体   English   中英

如何使用sqlite中的Multiple列中的多个值使用查询?

[英]How to use Multiple values from Multiple column in sqlite using query?

我有五列,我想从五列搜索数据,但列值可以超过5,它不固定。

列名

直呼其名,最后名称,主题,因此,品位。

我想使用sqlite搜索多个值。(名字可以是a,b,c,d)

怎么实现这个?

任何帮助,将不胜感激。

在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});
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);

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM