问题:在SQLite数据库浏览器中创建的表的查询返回0
。
采取的步骤:
1)创建了一个表:
create table friends (id integer primary key, name TEXT, email TEXT, phone NUMERIC);
2)填充表格(手动)。
3)尝试从表格中选择所有内容:
static final String DATABASE_NAME = "lab5.db";
String[] columns = new String[] {
KEY_ROWID,
KEY_NAME,
KEY_EMAIL,
KEY_PHONE };
Cursor allRows = db.query(DATABASE_TABLE, columns, null, null, null, null, null);
结果:所有行返回0行。
任何帮助都将不胜感激。
答案 0 :(得分:0)
可能是因为您使用不同的名称创建了一个表,即在创建Table时没有使用String Key值。在获取数据时,您尝试使用可能与实际列名称不同的String键值来获取列。
因此,如果KEY_ROWID,KEY_NAME,KEY_EMAIL,KEY_PHONE
尝试获取列详细信息,请更好地使用除键之外的列的实际名称,如下所示:
String[] columns = new String[] {
id,
name,
email,
phone};
同时将数据库表名更改为实际表名,如下所示:
Cursor allRows = db.query("friends", columns, null, null, null, null, null);