Android sqlite-contains是如何工作的

Android sqlite-contains是如何工作的,android,sqlite,Android,Sqlite,我对SQL没有太多经验,现在尝试从android调用SQL时出现语法错误: select _id from inAd where Name contains ? 表示包含附近有语法错误。 但是,如果我使用“=”而不是“contains”,则效果很好 有人知道问题是什么吗 现在按照你的建议,我试着: cursor = helper.getReadableDatabase().rawQuery( "select _id from inAd where N

我对SQL没有太多经验,现在尝试从android调用SQL时出现语法错误:

 select _id from inAd where Name contains ? 
表示包含附近有语法错误。 但是,如果我使用“=”而不是“contains”,则效果很好

有人知道问题是什么吗

现在按照你的建议,我试着:

        cursor = helper.getReadableDatabase().rawQuery(
            "select _id from inAd where Name like ?",
            new String[] { str2 });
但是没有用

现在还尝试:

cursor = helper.getReadableDatabase().rawQuery(
            "select _id from inAd where Name like ?",
            new String[] { "%<str2>%" });
这一次在%附近出现语法错误。

试试看

select _id from inAd where Name like '%<Your String>%'
从名称为“%”的inAd中选择_id
试试看

从名称为“%”的inAd中选择_id
试试看

从名称为“%”的inAd中选择_id
试试看

从名称为“%”的inAd中选择_id

“contains”不是SQL语法的一部分。如@Kristy所指定的,您可以使用LIKE运算符或“=”

看看这是否有效:

selectionArgs = new String[] { "%" + str2 + "%" };
Cursor c = db.rawQuery("select _id from inAd where Name LIKE ?, selectionArgs);

“contains”不是SQL语法的一部分。如@Kristy所指定的,您可以使用LIKE运算符或“=”

看看这是否有效:

selectionArgs = new String[] { "%" + str2 + "%" };
Cursor c = db.rawQuery("select _id from inAd where Name LIKE ?, selectionArgs);

“contains”不是SQL语法的一部分。如@Kristy所指定的,您可以使用LIKE运算符或“=”

看看这是否有效:

selectionArgs = new String[] { "%" + str2 + "%" };
Cursor c = db.rawQuery("select _id from inAd where Name LIKE ?, selectionArgs);

“contains”不是SQL语法的一部分。如@Kristy所指定的,您可以使用LIKE运算符或“=”

看看这是否有效:

selectionArgs = new String[] { "%" + str2 + "%" };
Cursor c = db.rawQuery("select _id from inAd where Name LIKE ?, selectionArgs);

使用LIKE时,必须在模式的开头和结尾使用通配符:

cursor=helper.getReadableDatabase().rawQuery(
“从inAd中选择_id,其中名称为“%”| |?| |“%””,
新字符串[]{str2});
或:

cursor=helper.getReadableDatabase().rawQuery(
“从inAd where Name like中选择_id?”,
新字符串[]{“%”+str2+“%”});

使用LIKE时,必须在模式的开头和结尾使用通配符:

cursor=helper.getReadableDatabase().rawQuery(
“从inAd中选择_id,其中名称为“%”| |?| |“%””,
新字符串[]{str2});
或:

cursor=helper.getReadableDatabase().rawQuery(
“从inAd where Name like中选择_id?”,
新字符串[]{“%”+str2+“%”});

使用LIKE时,必须在模式的开头和结尾使用通配符:

cursor=helper.getReadableDatabase().rawQuery(
“从inAd中选择_id,其中名称为“%”| |?| |“%””,
新字符串[]{str2});
或:

cursor=helper.getReadableDatabase().rawQuery(
“从inAd where Name like中选择_id?”,
新字符串[]{“%”+str2+“%”});

使用LIKE时,必须在模式的开头和结尾使用通配符:

cursor=helper.getReadableDatabase().rawQuery(
“从inAd中选择_id,其中名称为“%”| |?| |“%””,
新字符串[]{str2});
或:

cursor=helper.getReadableDatabase().rawQuery(
“从inAd where Name like中选择_id?”,
新字符串[]{“%”+str2+“%”});


?也许我应该指定,我使用的是rawquery。我想我必须用问号来解决这个问题??也许我应该指定,我使用的是rawquery。我想我必须用问号来解决这个问题??也许我应该指定,我使用的是rawquery。我想我必须用问号来解决这个问题??也许我应该指定,我使用的是rawquery。我想我必须用问号来解决这个问题?请在你使用LIKE时发布代码。另外,当您更改为“喜欢”时是否也会出现相同的错误?我已经编辑并发布了新代码。事实上,最后一个可能是对的,只是现在我尝试使用一个局部变量作为表名,结果适得其反,但这是另一个故事我不应该结束这个问题——仍然是同样的错误,请在使用LIKE时发布代码。另外,当您更改为“喜欢”时是否也会出现相同的错误?我已经编辑并发布了新代码。事实上,最后一个可能是对的,只是现在我尝试使用一个局部变量作为表名,结果适得其反,但这是另一个故事我不应该结束这个问题——仍然是同样的错误,请在使用LIKE时发布代码。另外,当您更改为“喜欢”时是否也会出现相同的错误?我已经编辑并发布了新代码。事实上,最后一个可能是对的,只是现在我尝试使用一个局部变量作为表名,结果适得其反,但这是另一个故事我不应该结束这个问题——仍然是同样的错误,请在使用LIKE时发布代码。另外,当您更改为“喜欢”时是否也会出现相同的错误?我已经编辑并发布了新代码。事实上,最后一个可能是对的,只是现在我尝试使用一个局部变量作为表名,结果适得其反,但这是另一个故事我不应该结束这个问题------仍然是同样的错误运行时str2的值是多少?%mystring%,我的字符串是字符串的内容,也许你可以告诉我一些事情。为什么这么多新手想做包含或类似搜索?如果你关心,我可以告诉你为什么我想做。当你运行东西时,str2的价值是什么?%mystring%,其中mystring是string的内容。也许你可以告诉我一些事情。为什么这么多新手想做包含或类似搜索?如果你关心,我可以告诉你为什么我想做。当你运行东西时,str2的价值是什么?%mystring%,其中mystring是string的内容。也许你可以告诉我一些事情。为什么这么多新手想做包含或类似搜索?如果你关心,我可以告诉你为什么我想做。当你运行东西时,str2的价值是什么?%mystring%,其中mystring是string的内容。也许你可以告诉我一些事情。为什么这么多新手想做包含或类似的搜索?我可以告诉你为什么我想做,如果你关心,不知道其他人。