在 SQLite 中使用“_id”从表中选择
Posted
技术标签:
【中文标题】在 SQLite 中使用“_id”从表中选择【英文标题】:Select from table using '_id' in SQLite 【发布时间】:2012-12-27 20:16:55 【问题描述】:我想使用 id 作为选择从我的 sqlite 数据库中选择一个特定的行。 在我的数据库中,id 称为 _id。我想使用以下函数,参数是我要选择并保存到游标中的行的 id。 DATABASE_TABLE_Bewirtschafter 是我的表的名称。
public Cursor createBewirtschafterIDCursor(int id)
return db.query(DATABASE_TABLE_Bewirtschafter, null, "_id = " + id,
null, null, null, null);
不幸的是,这不起作用,我得到一个空指针异常。 这有效:
public Cursor createBewirtschafterListViewCursor(String like)
return db.query(DATABASE_TABLE_Bewirtschafter, null, "gewName LIKE '%" + like + "%'",
null, null, null, null);
【问题讨论】:
如果对您有帮助,请不要忘记将答案标记为已接受。 【参考方案1】:您的db
变量设置为什么?从您展示的代码来看,我猜这几乎就是导致NullPointerException
被抛出的原因。
【讨论】:
db = context.openOrCreateDatabase(DATABASE_NAME, SQLiteDatabase.CREATE_IF_NECESSARY, null);【参考方案2】:是的,因为您在查询中的列参数中传递了 null
db.query(DATABASE_TABLE_Bewirtschafter, null, "_id = " + id,
null, null, null, null);
而你应该传递一个字符串数组有不同列的名称.. 参考请检查
http://developer.android.com/reference/android/database/sqlite/SQLiteDatabase.html
【讨论】:
谢谢。在我的编辑中,您可以看到我的其他语句运行良好,并且列也为空。为什么? 发现我的失败。我忘记打开数据库了。以上是关于在 SQLite 中使用“_id”从表中选择的主要内容,如果未能解决你的问题,请参考以下文章
SQL 如何使用 LEFT JOIN 从表中选择单个值,在 Google Datastudio 中