gpt4 book ai didi

android - 如何使用 rawQuery 在 SqlDatabase 中搜索一行中的整数?

转载 作者:行者123 更新时间:2023-11-30 00:49:21 25 4
gpt4 key购买 nike

这是我的代码:

    public String getFriendName(int aFindexnum){
String sql = "SELECT * FROM peopleTable WHERE "+KEY_CBINDEX+"="+aFindexnum;
Cursor cursor = ourDatabase2.rawQuery(sql, null);
String Fname = cursor.getString(1);
cursor.close();
return Fname;
}

我正在尝试搜索一个整数,而不是返回我的 sqldatabase 中的其他字符串值所以我传入 aFindexnum,它是 Db 中的整数值,我想找到它我的问题是当我尝试做类似的事情时:

        public String getFriendName(int aFindexnum){
String aFindex = getString(aFindexnum);
String sql = "SELECT * FROM peopleTable WHERE "+KEY_CBINDEX+"=?";
Cursor cursor = ourDatabase2.rawQuery(sql, new String[] {aFindex});
String Fname = cursor.getString(1);
cursor.close();
return Fname;
}
      String aFindex = getString(aFindexnum); <<if i will turn this with

parse into String will it work ?

public long createEntry( String name, String phonenum ,int phoneindex) {
// TODO Auto-generated method stub
ContentValues cv = new ContentValues();
cv.put(KEY_NAME, name);
cv.put(KEY_PHONENUM, phonenum);
cv.put(KEY_CBINDEX, phoneindex);
return ourDatabase2.insert(DATABASE_TABLE, null, cv);
}

这是sql数据库的条目,所以你可以在第三列中看到我正在输入一个int,我想搜索它并获取姓名和电话。谢谢。

最佳答案

    Activity 中的
  1. getString() 从资源中获取字符串。使用索引号名称引用资源 ID 看起来很可疑。如果我理解你的代码和问题,这个

    Cursor cursor = ourDatabase2.rawQuery(sql, new String[] {aFindex});

    应该是

    Cursor cursor = ourDatabase2.rawQuery(sql, new String[] { String.valueOf(aFindexnum) });

    您可以删除第一个有问题的 getString()

  2. 当您查询并获取光标时,您必须将其移动到有效行,然后才能访问列数据。添加

    if (cursor.moveToFirst()) { ... }

关于android - 如何使用 rawQuery 在 SqlDatabase 中搜索一行中的整数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21112810/

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