Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/67.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 在带有或操作的查询中使用选择参数_Android_Sql_Arguments_Where - Fatal编程技术网

Android 在带有或操作的查询中使用选择参数

Android 在带有或操作的查询中使用选择参数,android,sql,arguments,where,Android,Sql,Arguments,Where,我实际上正在处理一个数据库,需要一个比我实际使用的游标更多的游标。 但是我对where和Selection Args语句有一个问题。 我的问题是,我想检查Where子句中4列中的1列是否有4个可能值中的一个。我试了一下: String where = "String1 IN(?,?,?,?) OR String2(?,?,?,?) OR String3(?,?,?,?) OR String4(?,?,?,?); Cursor c = myDatabase.query("Table1",new S

我实际上正在处理一个数据库,需要一个比我实际使用的游标更多的游标。 但是我对where和Selection Args语句有一个问题。 我的问题是,我想检查Where子句中4列中的1列是否有4个可能值中的一个。我试了一下:

String where = "String1 IN(?,?,?,?) OR String2(?,?,?,?) OR String3(?,?,?,?) OR
String4(?,?,?,?);
Cursor c = myDatabase.query("Table1",new String[]{"String1","String2","String3","String4",where,new String[]{"Value1","Value2","Value3","Value4"},null,null,null);
但这并不像我希望的那样有效,只使用第一个值并检查它,而不是其他3个值


希望你能帮助我

我想你只想提一下参数。这可能更适合您的目的:

where (? in (string1, string2, string3, string4) or
       ? in (string1, string2, string3, string4) or
       ? in (string1, string2, string3, string4) or
       ? in (string1, string2, string3, string4)
      )

不确定你是不是这样想的,但我现在将其更改为:其中=string1中的值1,string2,string3,string4或string1中的值2,string2,string3,string4或string1中的值3,string2,string3,string4或string1中的值4,string2,string3,string4;但我得到了一个错误,一列ist缺失,这并不是真的缺失: