SQLite database.query()返回0

时间:2014-03-07 04:21:24

标签: android sqlite

问题:在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行。

任何帮助都将不胜感激。

1 个答案:

答案 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);