gpt4 book ai didi

android - Sqlite 和查询

转载 作者:行者123 更新时间:2023-11-29 21:53:39 25 4
gpt4 key购买 nike

我是一个安卓初学者。我正在尝试搜索整个数据库并找出“传入”号码是否在数据库中,如果它确实存在则返回 true 如果不返回 false,

我的搜索代码包含在下面,但是它总是返回 true,即使我用数据库中不存在的数字调用它也是如此。

此外,我是否应该使用 LIKE 进行搜索,因为有时来电号码在城市代码内,例如 *0060*172214866 或 0172214866,.(来电号码的类型为 String )

提前致谢,对于英语使用不当,我们深表歉意

 public boolean searchnumber(String incomiingnumber) {
boolean isit = false;
Cursor c=ourdatabase.query(DATABASE_TABLE, new String[]
{ROW_ID,KEY_NUMBER,N_NAME},
KEY_NUMBER + "=" + incomiingnumber
,null,null,null,null );
if (c != null){
while(c.moveToNext())
isit= true; }
else
{
isit=false;
Log.v(incomiingnumber, "IS NOT it");
}
return isit;
}

最佳答案

我建议使用 like,然后使用您需要比较的最小序列。试试这个:

public boolean searchnumber(String incomiingnumber) {
String args[] = { "%" + incomingnumber + "%" };
Cursor c = ourdatabase.query(DATABASE_TABLE, new String[] { ROW_ID,
KEY_NUMBER, N_NAME }, KEY_NUMBER + " LIKE ?", args,
null, null, null);
if (c != null) {
c.moveToFirst();
try {
c.getString(1);
c.close();
return true;
} catch (CursorIndexOutOfBoundsException e) {
c.close();
return false;
}
}
return false;
}

关于android - Sqlite 和查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13787119/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com