Android查询选择的区别

时间:2011-06-03 18:47:27

标签: android sqlite

使用查询为我的数据库搜索具有特定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();

这没问题。那有什么区别?

1 个答案:

答案 0 :(得分:0)

来自SQLite文档:

“MATCH运算符是match()应用程序定义函数的特殊语法。默认的match()函数实现引发异常,对任何事情都没有用。但扩展可以覆盖match()函数有用的逻辑。“

http://www.sqlite.org/lang_expr.html