使用查询为我的数据库搜索具有特定number
的行,我注意到如果我使用选择参数:
String selection = NUMBER + " MATCH ?"
String selectionArgs = new String[]{number}
Cursor cursor1 = db.query(TABLE_NAME, null, selection, selectionArgs, null, null, null);
cursor1.moveToFirst();
这会导致错误,就好像我使用:
String selection = NUMBER + " = " + number;
Cursor cursor2 = db. query(TABLE_NAME, null, selection, null, null, null, null);
cursor2.moveToFirst();
这没问题。那有什么区别?
答案 0 :(得分:0)
来自SQLite文档:
“MATCH运算符是match()应用程序定义函数的特殊语法。默认的match()函数实现引发异常,对任何事情都没有用。但扩展可以覆盖match()函数有用的逻辑。“