当前位置:编程学习 > wap >>

(急)关于android中sqlite3 模糊查询问题,懂数据库的大牛们快来啊

--------------------编程问答-------------------- 你的第两句,就是错误的当然查不到了!你的?占的是字段名称的位置,就没有这样的sql。这种应该是要事先定义好关键词。 --------------------编程问答-------------------- 这样的需求在sql中很难实现的吧,=高手! --------------------编程问答--------------------
引用楼主 baodinglaolang 的回复:
刚做了下模糊查询
如下

Java code

db.query(DbAdapter.TABLE_NAME, null,
                " app_name LIKE ?, new String[] { "%"+app_name+"%"},
                null, null, null);

这样可以实现查到app_name这个字段包含的内容……

请问下你是要查询包含你输入app_name(如新浪微博)就可以搜索到列1(如新浪微博1)和列2(如新浪微博2)这样的类似的操作吗 --------------------编程问答--------------------
引用 3 楼 ncuboy045wsq 的回复:
引用楼主 baodinglaolang 的回复:
刚做了下模糊查询
如下

Java code

db.query(DbAdapter.TABLE_NAME, null,
" app_name LIKE ?, new String[] { "%"+app_name+"%"},
null, null, null);

这样可以实现查到app_name这个字段包含的内容……

……


对,这段代码可以实现你说的功能,我现在想做的是输入“我的新浪微博”就可以查到列“新浪微博”这样的操作,不知道如何查询 --------------------编程问答--------------------
引用 1 楼 kinglo 的回复:
你的第两句,就是错误的当然查不到了!你的?占的是字段名称的位置,就没有这样的sql。这种应该是要事先定义好关键词。


是啊  等高手啊 --------------------编程问答-------------------- 你可以逐个截取app_name字符串,进行多次查询。
或者你可以把那个字段都查出来,比较有没有是app_name字符串字串的记录。 --------------------编程问答--------------------
引用 6 楼 vanezkw 的回复:
你可以逐个截取app_name字符串,进行多次查询。
或者你可以把那个字段都查出来,比较有没有是app_name字符串字串的记录。

我觉得这样可能就失去模糊查询的意义了 --------------------编程问答-------------------- --------------------编程问答--------------------
引用 4 楼 baodinglaolang 的回复:
引用 3 楼 ncuboy045wsq 的回复:

引用楼主 baodinglaolang 的回复:
刚做了下模糊查询
如下

Java code

db.query(DbAdapter.TABLE_NAME, null,
" app_name LIKE ?, new String[] { "%"+app_name+"%"},
null, null, null);

这样……

不知道如何在sqlite中实现 --------------------编程问答--------------------
引用 7 楼 baodinglaolang 的回复:
引用 6 楼 vanezkw 的回复:

你可以逐个截取app_name字符串,进行多次查询。
或者你可以把那个字段都查出来,比较有没有是app_name字符串字串的记录。

我觉得这样可能就失去模糊查询的意义了

这个是在android中写了个DBhelp new出一个DB就可以查询了 --------------------编程问答-------------------- 一般 查询的关键字至少2个吧
String str="我的新浪邮箱"
String sql;
String value;
  for(int i=0;i<str.lengtn-2;i++){
     str=str.substring(i,i+2)
    if(i==0)
     sql=sql+"app_name like '%"+str+"%' ;
    else 
      sql=sql+" or app_name like '%"+str+"%';   
}
 db.rawQuery(sql,null)  --------------------编程问答--------------------
引用 11 楼 dikeboy1234 的回复:
一般 查询的关键字至少2个吧
String str="我的新浪邮箱"
String sql;
String value;
  for(int i=0;i<str.lengtn-2;i++){
     str=str.substring(i,i+2)
    if(i==0)
     sql=sql+"app_name like '%"+str+"%' ;
    else 
……


你的意思是拼接一个很多 or的SQL语句吧   把每种可能都写上   但是 中文和英文怎么办呢  中文两个字符,英文是一个 每次取i到i+2肯定会遗漏一些英文的东西   --------------------编程问答-------------------- 我也遇到,看了希望解决。 --------------------编程问答-------------------- 查询的条件应该是  列名+ " like '%" + 查询参数 + "%'"  吧。。。
你的引号把参数都引进去了
补充:移动开发 ,  Android
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,