[英]Android - sqlite in clause using string values from array?
我想執行一個sqlite查詢,我有一個String
:
String A = "AB-CDFER-GTDOL";
String[] parts = Pattern.compile("-", Pattern.LITERAL).split(A);
現在,我需要在query
使用parts
。
cursor = sql.rawQuery("SELECT * FROM MyTable WHERE Comment in" + ?????, null);
如何從query
parts
使用。
例如,我需要擁有("AB","CDFER","GTDOL")
我希望這可以解決您的問題:
您可以通過以下方式拆分字符串:
String A = "AB-CDFER-GTDOL";
String[] parts = A.split("-");
現在,您的部件數組將具有以下值:
parts[0] = "AB";
parts[1] = "CDFER" etc..
同樣,您可以根據需要在sql查詢中使用這些值。
希望這可以幫助。
您可以使用Android SQLDatabase中的query
方法。 這是它的文檔: http : //developer.android.com/reference/android/database/sqlite/SQLiteDatabase.html#query
您可以像下面這樣實現它:
String A = "AB-CDFER-GTDOL";
String[] parts = A.split("-");
cursor = sql.query("MyTable", null, "Comment = ?", parts, null, null, null, null);
關於Android中SQL的有用文章: http : //hmkcode.com/android-simple-sqlite-database-tutorial/
您可以在拆分后編譯字符串:
String A = "AB-CDFER-GTDOL";
String[] parts = Pattern.compile("-", Pattern.LITERAL).split(A);
// build the params string
StringBuilder sb = new StringBuilder("");
for(String param:parts){
// you can also enclose it in quotes
sb.append",".append('"').append(param).append('"');
}
// remove 1st comma from sb.
final String params = sb.toString().substr(1);
這里的技巧是將所需的字符串編譯為"AB","CDFER","GTDOL"
。 現在,您可以將此字符串作為一個參數傳遞。
cursor = sql.rawQuery("SELECT * FROM MyTable WHERE Comment in(?)", new String[]{params});
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.