我在 Eclipse 中制作了一个 Adnroid 程序,它读取 csv 文件并将信息输入到 SQLite 数据库中,并使用
dbCursor = database.query(DATABASE_TABLE, new String[]{KEY_ROWID, KEY_ITEMTYPE, KEY_QUANTITY}, null, null, null, null, null);
int iRow = dbCursor.getColumnIndex(KEY_ROWID);
int iType = dbCursor.getColumnIndex(KEY_ITEMTYPE);
int iQuantity = dbCursor.getColumnIndex(KEY_QUANTITY);
for(dbCursor.moveToFirst(); !dbCursor.isAfterLast(); dbCursor.moveToNext()){
allData = allData + " " + dbCursor.getString(iRow) + "\t " + dbCursor.getString(iType) + "\t\t\t " + dbCursor.getString(iQuantity) + "\n";
}
然后在 textview 框中打印出 allData 效果很好。
然后我想用
dbCursor = database.rawQuery("SELECT KEY_ROWID , SUM(KEY_ITEMTYPE) FROM DATABASE_TABLE GROUP BY KEY_ROWID", null);
for(dbCursor.moveToFirst(); !dbCursor.isAfterLast(); dbCursor.moveToNext()){
allDataSum = allDataSum + " " + dbCursor.getString(0);
} //I know this will probably not print what I want correctly but that's a problem for another day
当我尝试打印此内容时,我收到错误“10-25 22:06:35.016: I/Database(1911): sqlite returned: error code = 1, msg = no such table: DATABASE_TABLE”。
然后我打开 DDMS 文件资源管理器并将数据库复制到我的桌面上,然后尝试使用命令工具查看数据库,但再次出现错误,“SQL 错误:没有这样的表:库存”。
当数据库中显然没有表时,模拟器如何向我显示我想从 .query()(但不是从 .rawQuery)中看到的内容?关于我使用查询和 rawQuery 的一切都是相同的,所以这不是不为 rawQuery 或类似的东西打开数据库的情况。