android模糊检索_Android开发中使用SQL模糊查找的问题

本文探讨了一个具体的Android SQLite模糊查询问题,作者尝试通过SQL语句从数据库中获取匹配的数据,但在ListView展示时出现了重复记录的问题。文章详细展示了出现问题的代码片段,并寻求社区的帮助找出问题所在。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

publicvoidonClick(DialogInterfacedialog,intwhich){//TODOAuto-generatedmethodstubif(which==0){Stringsql="select*fromuserwherenamelike'%"+q_s+"%'";cursor=db.rawQuery(sql,nu...

public void onClick(DialogInterface dialog, int which) {

// TODO Auto-generated method stub

if(which==0){

String sql="select * from user where name like'%"+q_s+"%'";

cursor=db.rawQuery(sql, null);

//cursor=db.query("user", new String[]{"name","password"}, "name=?", new String[]{q_s}, null, null, null);

}else if(which==1){

cursor=db.query("user", new String[]{"name","password"}, "password=?", new String[]{q_s}, null, null, null);

}

al.clear();

while(cursor.moveToNext()){

name=cursor.getString(cursor.getColumnIndex("name"));

password=cursor.getString(cursor.getColumnIndex("password"));

hm.put("name", name);

hm.put("password", password);

al.add(hm);

System.out.println(";name---->"+name+";password----->"+password);

}

sa=new SimpleAdapter(ListShow.this, al, R.layout.listview_content, new String[]{"name","password"}, new int[]{R.id._id,R.id._name});

lv.setAdapter(sa);

sa.notifyDataSetChanged();

}

}).create().show();

我用这个代码实现模糊查找,可是出现了问题。

我的数据库有四条记录:“linhh”,"linrh","yougr","rhs"

我模糊查找:lin

结果在lv(ListView)中的确出现了两条记录,但是却都是“linrh”这最后一条记录,并且插入"linsf"之后,出现三条记录,但也都是“linsh”最后一条记录,我觉得是cursor有问题,但是不知道哪里有错。

希望帮个忙。

展开

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值