我想使用DatabaseHelper类选择多个列,以下sql语句对数据库本身有效,但在android内不起作用,仅返回第一列:
c = db.rawQuery("SELECT column1, column2, column3 FROM " + TABLE, null);
这仅返回第一列,但是在SQLite本身中执行时,所有列均被返回,我在这里遗漏了什么吗?
谢谢
解决方法:
单个查询不会返回列,您还必须提供要从数据库中检索的列的名称
public ArrayList getDataFromDatabase()
{
ArrayList array_list = new ArrayList();
SQLiteDatabase db = this.getReadableDatabase();
Cursor res = db.rawQuery( "give your query here", null );
res.moveToFirst();
while(res.isAfterLast() == false)
{
//give the name of columns you want to retrieve from database one by one
array_list.add(res.getString(res.getColumnIndex(column 1)));
array_list.add(res.getString(res.getColumnIndex(column 2)));
res.moveToNext();
}
return array_list;
}
标签:sqlite,android 来源: https://codeday.me/bug/20191120/2045305.html
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。