我对android很新,我有以下问题。 这是我的代码,我正在尝试将数据库中的数据导入我的列表。
private List<Model> getModel(int a) {
dbHelper = new DbHelper(this);
db = dbHelper.getWritableDatabase();
Log.d("Model Int: ", "Model int: " + a);
sql = "SELECT * FROM shows";
resultCursor = db.rawQuery(sql, new String [] {});
resultCursor.moveToFirst();
List<Model> list = new ArrayList<Model>();
list.add(get(Html.fromHtml(resultCursor.getString(a)).toString()));
for (resultCursor.moveToFirst(); resultCursor.moveToNext(); resultCursor
.isAfterLast()) {
list.add(get(Html.fromHtml(resultCursor.getString(a))
.toString()));
}
startManagingCursor(resultCursor);
resultCursor.close();
db.close();
dbHelper.close();
return list;
}
工作正常,但是当我不想用*但是用
获取所有列时 sql = "SELECT title subtitle FROM shows";
代替。我得到这样的错误
ERROR / CursorWindow(371):字段槽0,1的请求错误。 numRows = 162,numColumns = 1
任何想法出了什么问题?
提前致谢。
答案 0 :(得分:1)
SELECT title subtitle FROM shows
真的意味着
SELECT title AS subtitle FROM shows
英语:只选择一列:title
,但在结果集中将该列重命名为“subtitle”。
这称为为列分配alias
请参阅:http://beginner-sql-tutorial.com/sql-aliases.htm
<强>解决方案强>
做:
SELECT title, subtitle FROM shows
现在您正在选择两列。
<强>声明强>
我不保证该链接中信息的质量,网上有很多质量差tutorials
。我只看了“别名”部分, 部分看起来很有用。
答案 1 :(得分:0)
我并不完全理解你的问题,但我认为你需要特定领域
select title, subtitle from shows
定义以逗号分隔的字段