我正在尝试获取数据库中的全部数据,而这正是我的代码。
private fun readAllPoetsDB(): Cursor {
val db = readableDatabase
return db.rawQuery("SELECT * FROM INFO",null)
}
fun readAllPoets(): ArrayList<Poet> {
val poets = ArrayList<Poet>()
val cursor = readAllPoetsDB()
println("this is cursor count")
println(cursor.count)
println(cursor.getColumnName(0))
var poetid: String
var faname: String
var enname: String
cursor.moveToNext()
while (!cursor.isAfterLast) {
poetid = cursor.getString(cursor.getColumnIndex(DBPoet.UserEntry.COLUMN_POET_ID))
faname = cursor.getString(cursor.getColumnIndex(DBPoet.UserEntry.COLUMN_FANAME))
enname = cursor.getString(cursor.getColumnIndex(DBPoet.UserEntry.COLUMN_ENNAME))
poets.add(Poet(poetid, faname, enname))
cursor.moveToNext()
}
cursor.close()
return poets
}
第println(cursor.count)
行返回零,但是cursor.getColumnName
返回正确的名称。
请不要忘记我已经检查了我的表名,它是100%正确的。
另外,我的数据库文件是本地文件,并且未在应用程序内部创建,而是手动添加的。
那是什么问题呢?
答案 0 :(得分:1)
来自Cursor.java
:
cursor.count
(getCount()
)返回Cursor
返回的行的数量。
cursor.columnCount
(getColumnCount()
)返回Cursor
中列的数量。