gpt4 book ai didi

Android sqlite 从查询中返回行数

转载 作者:行者123 更新时间:2023-11-29 21:41:47 24 4
gpt4 key购买 nike

我正在尝试构建一种方法来确定用户在插入之前是否存在于 Android sqlite 数据库中,我尝试构建此方法以返回行数,但是如果我尝试搜索类似的匹配项

    String[] columns = new String[] { SCREEN_NAME, NAME, PROFILE_IMAGE_URL,
USER_ID };
Cursor c = friendsDatabase.query(DATABASE_TABLE, columns, SCREEN_NAME
+ " LIKE '" + screenName + "%'", null, null, null, null);
c.moveToFirst();
Integer count= c.getCount();
c.close();

return count;

我得到返回的行数没问题但是当我寻找这样的精确匹配时

String[] columns = new String[] { SCREEN_NAME, NAME, PROFILE_IMAGE_URL,
USER_ID };
Cursor c = friendsDatabase.query(DATABASE_TABLE, columns, SCREEN_NAME
+ " = '" + screenName + "'", null, null, null, null);
c.moveToFirst();
Integer count= c.getCount();
c.close();

return count;

无论匹配与否,我每次都得到 0 行,我不确定我的 SQL 是否有问题,或者我是否使用了错误的参数来创建语句,任何帮助都会有很长的路要走,谢谢

最佳答案

试试这个代码,它可能会工作

使用原始查询

Cursor mCount= db.rawQuery("select count(*) from "+ DATABASE_TABLE +" where "+SCREEN_NAME+"='" + SCREEN_NAME + "'", null);
mCount.moveToFirst();
int count= mCount.getInt(0);
mCount.close();

或者使用相同的代码但不同

db.query(DATABASE_TABLE , columns, SCREEN_NAME=?, new String[] { SCREEN_NAME}, null, null, null);
c.moveToFirst();
Integer count= c.getCount();
c.close();

关于Android sqlite 从查询中返回行数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16876297/

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