我有四個字段的表:從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