Android SQLite错误"请求具有表名的列名"

tjb*_*tjb 13 sqlite android

运行表单的SQL查询后:

SELECT table_name.column_name FROM table_name,table_name2,etc... WHERE condition1,condition2,etc...,
Run Code Online (Sandbox Code Playgroud)

我收到以下错误,但没有关闭我的程序:

请求具有表名的列名 - table_name.column_name

谷歌搜索这个错误短语导致我到android.database.sqlite.SQLiteCursor线314

在314行以上的几行有一条评论,这段代码是对错误903852的回应.但我似乎无法在谷歌上找到这个错误.

所以这是一个两部分问题:

  1. 使用SQL中的表命名列名是错误的吗?(我的印象是这是最好的做法)
  2. 如何找到Android错误报告903852以便我能够理解问题所在?(谷歌搜索Android错误903852不起作用)

Ani*_*esh 11

在我的情况下,我使用时解决了问题

select table_name.column_name as column_name_alt WHERE ....
Run Code Online (Sandbox Code Playgroud)

后来,在我的中CursorAdapter,只在字符串数组中引用它为column_name_alt.

希望这可以帮助.


tho*_*nic 7

所以我在创建一个Cursor将传递给a的问题时遇到了这个问题SimpleCursorAdapter.原来,虽然这是确定的前缀"查询"栏目的String [],随后String[] from则传递给参数SimpleCursorAdapter的构造函数没有需要为前缀的适配器映射你的结果正确.


gss*_*ssi 0

我发现最佳实践是将所有表名称和条件值用单引号引起来![即使查询在我的独立 sqlite 管理器中工作,我也会在 android 中收到“未知列名称”错误。]