gpt4 book ai didi

android - 如何获取sqlite数据库中的第一列数据?

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

我正在尝试像下面的 sql 一样获取第一列,但我的代码显示错误。

SELECT subject FROM setting WHERE rowid=1

public void getSetting(){
result = "";

SQLiteDatabase db = myDbHelper.getReadableDatabase();

Cursor c = db.query(true, "setting", new String[] {"subject", "language", "selection"}, "row=1", null, null, null, null, null);

for(c.moveToFirst();!(c.isAfterLast());c.moveToNext()){

result = result + c.getString(0);
result = result + c.getString(0);
result = result + c.getString(0);
}
if (c.getCount() == 0)
result = result + "result not found";

c.close();
db.close();
myDbHelper.close();

}

最佳答案

你的东西有点难以理解,但我想我知道你想要什么。您如何让游标仅返回一行,其中该行的 id 是特定值。而且您只需要该返回行的一列中的字符串。我认为主要问题是您对要查找的 _id 列的指定。您可以将其命名为 rowrowid,您必须仔细检查一下。

此外,我希望以下重写能够解决您可能遇到的更多问题。

public String getSetting() {
String result = "";
String[] columns = {"subject"};
String[] selectionArgs = {"1"};
String LIMIT = String.valueOf(1); // <-- number of results we want/expect

SQLiteDatabase db = myDbHelper.getReadableDatabase();
Cursor c = db.query(true, "setting", columns, "rowid = ?", selectionArgs, null, null, null, LIMIT);

if (c.moveToFirst()) {
result = result + c.getString(0);
} else {
result = result + "result not found";
}

c.close();
myDbHelper.close();
return result;
}

而且,而且。如果您遇到错误,您应该将其发布,以便我们了解发生了什么。

关于android - 如何获取sqlite数据库中的第一列数据?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13447654/

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