我使用 GUI 创建了一个包含 1650 条记录的数据库。
我正在尝试查询这个数据库,但它总是什么都不返回。我试过写一个简单的getrowcount()
方法来看看我是否得到任何东西,但它总是返回零。如果有人可以帮助指出发生了什么,我必须在这里遗漏一些明显的东西。
在我的主要app.java
:
db = new DbHandler(this);
String sIcao1 = "ROW COUNT = " + String.valueOf(db.getRowCount());
在我的dbhandler.java
:
package com.jammo.mywidget4;
<snip - standard includes>
public class DbHandler extends SQLiteOpenHelper {
private static SQLiteDatabase db;
private static final int DATABASE_VERSION = 1;
private static final String DATABASE_NAME = "airports";
private static final String TABLE_AIRPORTS = "airports";
public DbHandler(Context context) {
super(context, DATABASE_NAME, null, DATABASE_VERSION);
db = this.getWritableDatabase();
}
@Override
public void onCreate(SQLiteDatabase db) {
db = this.getWritableDatabase();
}
int getRowCount() {
int nCount = -1;
//SQLiteDatabase db = this.getReadableDatabase();
Cursor cur = db.rawQuery("SELECT * FROM airports", null);
nCount = cur.getCount();
if (cur != null) {
//cur.moveToFirst();
//nCount = cur.getInt(0);
//if (cur.getInt (0) == 0) {
//}
}
return nCount;
}
}
在 GUI(SQLite DB 浏览器)中,我正在做一个简单的
select * from airports
...而且我正在取回全部行数。当我调试 Java 时,游标不返回任何内容。
此外,由 GUI 创建的数据库位于myapp/assets/airports.db
.
有任何想法吗?