android& sqlite - 查询单个项目

时间:2014-08-01 04:13:40

标签: android sqlite

我正在调用一种方法来查看数据库中是否有值。

    String[] columns ={table.NAME};
    String[] selectionsArgs = {name};
    Cursor cursor = db.query(table.TABLE_NAME, columns, table.NAME+"= ?", selectionsArgs,null, null, null, null);

    int index = cursor.getColumnIndex(table.ID);

无论名称是否存在,索引始终为-1。 为什么?

2 个答案:

答案 0 :(得分:1)

  

无论名称是否存在,索引始终为-1。为什么?

因为您未在table.ID中包含columns

getColumnIndex()只能找到光标中的列,无论是否有任何行。

答案 1 :(得分:-1)

即使没有手头的桌子,看起来很像你正在创建错误的查询。

我看到奇怪的事情:

  1. 使用table.NAME作为列名。
  2. 还将table.NAME用于WHERE子句条件
  3. 在“=?”
  4. 中有一个额外的空格

    尝试:

    Cursor cursor = db.query(table.TABLE_NAME ,null ,null ,null ,null, null, null, null);
    

    另外,请查看此答案以供参考:SQLiteDatabase.query method