2017-04-21 114 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注入。

注:參數的順序是位置。這意味着第一個佔位符(?)將被參數數組中的第一個元素替換,依此類推。