我一直试图在Android应用程序的搜索中使用通配符,并继续遇到错误.
我正在使用下面的字符串对我的应用程序执行搜索:
Cursor c_name = b.query("namedrxns", new String[] { "_ID", "name" }, "name liKE %?%", new String[] { query }, null, null, null);
当我使用名称liKE%?%或name =%?%时,我得到一个“近”%“:语法错误:,同时编译:SELECT _ID,name FROM namedrxns WHERE name =%?%”error.
但是名字liKE’%?%’或name =’%?%’我改为“绑定或列索引超出范围:handle 0x40cb70”
有人可以告诉我我做错了什么吗?
谢谢!
解决方法:
将%附加到查询参数.
即:
Cursor c_name = b.query("namedrxns", new String[] { "_ID", "name" }, "name liKE ?", new String[] { "%"+query+"%" }, null, null, null);
就像Thomas Mueller已经说过的那样,请注意值中的%和_仍然可以作为通配符使用.
总结以上是内存溢出为你收集整理的android – Wildcard在SQLite中不起作用全部内容,希望文章能够帮你解决android – Wildcard在SQLite中不起作用所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)