我想执行一个sqlite查询,我有String
:
String A = "AB-CDFER-GTDOL";
String[] parts = Pattern.compile("-", Pattern.LITERAL).split(A);
现在我需要在parts
中使用query
。
cursor = sql.rawQuery("SELECT * FROM MyTable WHERE Comment in" + ?????, null);
如何在parts
中使用query
。
例如,我需要("AB","CDFER","GTDOL")
答案 0 :(得分:0)
我希望这能解决你的问题:
您可以按以下方式拆分字符串:
String A = "AB-CDFER-GTDOL";
String[] parts = A.split("-");
现在您的parts数组将具有以下值:
parts[0] = "AB";
parts[1] = "CDFER" etc..
同样,您可以根据需要在sql查询中使用这些值。
希望这有帮助。
答案 1 :(得分:0)
您可以使用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/
答案 2 :(得分:0)
您可以在拆分后编译字符串:
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"
。现在您可以将此字符串作为ONE参数传递。
cursor = sql.rawQuery("SELECT * FROM MyTable WHERE Comment in(?)", new String[]{params});