gpt4 book ai didi

java - Android 游标不返回选择查询的行

转载 作者:行者123 更新时间:2023-12-02 00:14:32 26 4
gpt4 key购买 nike

我目前正在尝试从位于 Assets 文件夹中的我自己的数据库中获取一行。使用 SQLite 查询浏览器和调试器中的 SELECT 语句检查表中是否有一行,在数据库中找到一行。无论如何,从我的代码中调用该语句只会让我得到一个空光标。我还添加了方法

cursor.moveToFirst()

并避免打电话

myDataBase.close();

这是我尝试在 TextView 上附加单个条目的方法:

private void getAdresses(Location location) { // TODO
double lat = location.getLatitude();
double lng = location.getLongitude();
Geocoder geocoder = new Geocoder(this, Locale.GERMAN);

try {
List<Address> addresses = geocoder.getFromLocation(lat, lng, 1);
if (addresses.size() != 0) {
Address address = addresses.get(0);

String addressString = address.getAddressLine(0).toString();
System.out.println("(geocoder) " + addressString);
textView.append(addressString + "\n");

Cursor cursor = mDbHelper.getAllEntrys("tblBar", "Adresse",
addressString);

if (cursor.moveToFirst()) {

String cursorContent = cursor.getString(cursor
.getColumnIndexOrThrow("Name"));
textView.append(cursorContent + "\n");

} else {
System.out.println("No bar at current location");
}
} else {
System.out.println("(geocoder) no address!");
}
} catch (IOException e) {
System.out.println(e.toString() + "(geocoder)");
}
}

此外,这是我调用数据库实际查询的方法:

public Cursor getAllEntrys(String table, String column, String search) {
try {
String sSelect = "SELECT * FROM " + table + " WHERE " + column
+ " = '" + search + "'";
Cursor cursor = mDb.rawQuery(sSelect, null);

if (cursor != null) {
cursor.moveToFirst();
}
return cursor;
} catch (SQLException mSQLException) {
System.out.println("getData >>" + mSQLException.toString());
throw mSQLException;
}
}

希望有人能帮助我解决这个问题。非常感谢!

最佳答案

好的,首先我要感谢你们所有人的快速回复。继续努力吧!虽然答案很明显,但我自己想出来了。教程中的问题来自:http://www.reigndesign.com/blog/using-your-own-sqlite-database-in-android-applications/也就是说,它不会考虑您在首次运行程序后手动将值(在 SQLite 数据库浏览器中更新)添加到数据库的情况。这就是我所做的...所以你必须编写自己的方法来检查自上次运行以来是否有任何更改。希望任何人都可以需要这个:)

关于java - Android 游标不返回选择查询的行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12109861/

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