2017-04-21 117 views
-5

我有四个字段的表:从sqlite获取数据?

enter image description here

我想获取的RegionName(浦那,德里)或项目名(TPQ)的数据。
我的预期结果是Checklist4,checklist1和checklist3。

如何写这一个SQLite查询?

+3

您是否搜索过?你有什么尝试?什么没有奏效?你不明白什么?你能告诉我们一些你试过的代码吗?你有没有搜索过?当您在互联网上有很多关于此的问题/教程时,您立即发布问题。 – Denny

+0

你的意思是“或”而不是“和”?否则,你得到零行返回 –

+0

检查我的答案..如果你有其他相关的问题,请在那里评论。 – user2399432

回答

2

我认为你的主要问题是SQL查询,你实际上意味着使用“OR”关键字,而非“AND”,你在你的心中有..

的“OR”关键字将返回结果满足您的任何标准,以便RegionName可以是两个值之一(Pune,德里)或ProjectName可以是TPQ。

在对面,“AND”关键字将返回满足您所有的条件的结果。在你的表中,为了返回一个结果,你应该有一个例子,其中RegionName是“Pune”,而ProjectName是“TPQ”。

请尝试以下假设你的表称为“表名”:

Cursor c = myDatabase.rawQuery("SELECT CheckListName from TableName where RegionName IN ('Pune', 'Delhi') OR ProjectName ='TPQ'", null); 
0

另一种查询语法(我喜欢)是:

String[] params = {"Pune", "Delhi", "TPQ"}; 
String query = "SELECT CheckListName FROM YourTableName WHERE RegionName IN (?, ?) OR ProjectName =?"; 

Cursor cur = db.rawQuery(query, params); 

刚刚与实际名称替换YourTableName您表。

这不仅会自动处理字符串值(通过将单引号和撇号加倍),同时也打架SQL注入。

注:参数的顺序是位置。这意味着第一个占位符(?)将被参数数组中的第一个元素替换,依此类推。