我有四个字段的表:从sqlite获取数据?
我想获取的RegionName(浦那,德里)或项目名(TPQ)的数据。
我的预期结果是Checklist4,checklist1和checklist3。
如何写这一个SQLite查询?
我有四个字段的表:从sqlite获取数据?
我想获取的RegionName(浦那,德里)或项目名(TPQ)的数据。
我的预期结果是Checklist4,checklist1和checklist3。
如何写这一个SQLite查询?
我认为你的主要问题是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);
另一种查询语法(我喜欢)是:
String[] params = {"Pune", "Delhi", "TPQ"};
String query = "SELECT CheckListName FROM YourTableName WHERE RegionName IN (?, ?) OR ProjectName =?";
Cursor cur = db.rawQuery(query, params);
刚刚与实际名称替换YourTableName
您表。
这不仅会自动处理字符串值(通过将单引号和撇号加倍),同时也打架SQL注入。
注:参数的顺序是位置。这意味着第一个占位符(?
)将被参数数组中的第一个元素替换,依此类推。
您是否搜索过?你有什么尝试?什么没有奏效?你不明白什么?你能告诉我们一些你试过的代码吗?你有没有搜索过?当您在互联网上有很多关于此的问题/教程时,您立即发布问题。 – Denny
你的意思是“或”而不是“和”?否则,你得到零行返回 –
检查我的答案..如果你有其他相关的问题,请在那里评论。 – user2399432