Android开发中使用SQL模糊查找的问题

publicvoidonClick(DialogInterfacedialog,intwhich){//TODOAuto-generatedmethodstubif(wh... 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有问题,但是不知道哪里有错。
希望帮个忙。
展开
 我来答
_446865422
2012-06-11 · TA获得超过229个赞
知道小有建树答主
回答量:320
采纳率:0%
帮助的人:156万
展开全部
如果后台的输出结果是你想要的值的话,那么就是Adapter写错了;如果连后台输出都错了的话,那么应该是取数据那里写错了。
郝子琪
2012-06-11 · TA获得超过1746个赞
知道大有可为答主
回答量:1579
采纳率:0%
帮助的人:1467万
展开全部
从现象来看,很可能不是数据的问题。所以,你需要确定是Cursor出的问题,还是Adapter出的问题。
-----------------------------------------------------------------------------------------------------
安卓精英团为你解答
安卓精英团欢迎各位精英加入
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式