簡體   English   中英

Android-sqlite in子句使用數組中的字符串值?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM