我正在尝试检查是否在三列之一中找到了查询 但是,仅在提到的第一列中搜索查询:
string[] a = new string[1];
a[0] = '%' + query + '%';
var sqldb_query = "SELECT * FROM MYTABLE WHERE Col_1 LIKE ? OR Col_2 LIKE ? OR Col_3 LIKE ?";
var sqldb_cursor = myDb.RawQuery(sqldb_query, a);
它只查找Col_1中的查询,而不查找其他查询 我的代码出了什么问题?
答案 0 :(得分:2)
您永远不会为查询中的第二个和第三个LIKE
表达式绑定参数。编辑:如果要多次使用相同的LIKE
表达式,则仍需要多次绑定占位符。
string[] a = new string[3];
string likeString = '%' + query + '%';
a[0] = '%' + query + '%';
a[1] = '%' + query + '%';
a[2] = '%' + query + '%';
var sqldb_query = "SELECT * FROM MYTABLE WHERE Col_1 LIKE ? OR Col_2 LIKE ? OR Col_3 LIKE ?";
var sqldb_cursor = myDb.RawQuery(sqldb_query, a);