Android SQLite Like 查询
Android SQLite Like query
以下查询在我的应用程序中运行良好
db.query(true, DATABASE_TABLE, new String[] {KEY_ROWID,KEY_FAULTREF,KEY_WORKNUM,KEY_ORIGNUM,KEY_REPBY,KEY_REPDATTIM,KEY_DESCRIPTION}, KEY_FAULTREF + "='" + strname+ "'", null,null, null, null, null);
strname 是我正在搜索的内容,但它只会返回与此完全匹配的记录
我想进行修改,以便它恢复包含 strname 的所有内容(例如 strname)
我尝试了以下方法,但我的应用程序崩溃了
db.query(true, DATABASE_TABLE, new String[] {KEY_ROWID,KEY_FAULTREF,KEY_WORKNUM,KEY_ORIGNUM,KEY_REPBY,KEY_REPDATTIM,KEY_DESCRIPTION}, KEY_REPBY + "LIKE %'" + strname+ "'%", null,null, null, null, null);
我知道它是 LIKE 语句,但我哪里出错了?
感谢您的帮助
马克
%
通配符必须是字符串的一部分:
... + " LIKE '%" + strname+ "%'", ...
请注意,当字符串包含引号时,此代码将被破坏。
您应该改用参数:
db.query(true, DATABASE_TABLE,
new String[] {KEY_ROWID,KEY_FAULTREF,KEY_WORKNUM,KEY_ORIGNUM,KEY_REPBY,KEY_REPDATTIM,KEY_DESCRIPTION},
KEY_REPBY + " LIKE ?",
new String[] { "%" + strname + "%" },
null, null, null, null);
以下查询在我的应用程序中运行良好
db.query(true, DATABASE_TABLE, new String[] {KEY_ROWID,KEY_FAULTREF,KEY_WORKNUM,KEY_ORIGNUM,KEY_REPBY,KEY_REPDATTIM,KEY_DESCRIPTION}, KEY_FAULTREF + "='" + strname+ "'", null,null, null, null, null);
strname 是我正在搜索的内容,但它只会返回与此完全匹配的记录
我想进行修改,以便它恢复包含 strname 的所有内容(例如 strname)
我尝试了以下方法,但我的应用程序崩溃了
db.query(true, DATABASE_TABLE, new String[] {KEY_ROWID,KEY_FAULTREF,KEY_WORKNUM,KEY_ORIGNUM,KEY_REPBY,KEY_REPDATTIM,KEY_DESCRIPTION}, KEY_REPBY + "LIKE %'" + strname+ "'%", null,null, null, null, null);
我知道它是 LIKE 语句,但我哪里出错了?
感谢您的帮助
马克
%
通配符必须是字符串的一部分:
... + " LIKE '%" + strname+ "%'", ...
请注意,当字符串包含引号时,此代码将被破坏。 您应该改用参数:
db.query(true, DATABASE_TABLE,
new String[] {KEY_ROWID,KEY_FAULTREF,KEY_WORKNUM,KEY_ORIGNUM,KEY_REPBY,KEY_REPDATTIM,KEY_DESCRIPTION},
KEY_REPBY + " LIKE ?",
new String[] { "%" + strname + "%" },
null, null, null, null);