Android中系统自带数据库文件中的多表联合查询疑问
问题是:在Android中实现系统自带数据库文件的多表联合查询,目前只知道使用Cursor进行简单的系统数据库文件操作,虽然可以使用SQLiteDatabase对象对自己的应用中的数据库文件进行较为复杂的数据操作,像多表联合查询之类的。现在的问题是怎样得到系统自带数据库文件的SQLiteDatabase的引用对象。2012-03-02
现发现有一个方法可以基本实现Android表中的基于SQL语言多表查询效果,使用SQLiteDatabase.rawQuery:
sqLiteDatabase = mdb.dbHelper.getReadableDatabase(); Cursor listCursor = sqLiteDatabase.rawQuery("SELECT _id,address,body,type,date,ac from MySms a , (SELECT max(date) maxd,count(address) ac from MySms Group By address) b where a.date = b.maxd order by date desc",null); startManagingCursor(listCursor);
这是对系统短信数据库sms的查询,其中返回了短信ID,号码,短信内容,短信类型,时间及该号码中包含的短信数目。注意,这里能者样查询是因为我把系统的数据库在我的程序中备份了一份(就是语句中的MySms),所以可以使用SQLiteDatabase对象来使用SQL语言的查询。还有就是rawQuery()方法中的ORDER BY 参数是要设置为 null 的。 2012-03-04
相关推荐
bob于 2020-07-26
bleach00 2020-11-10
林德强之原创 2020-08-13
PlumRain 2020-08-03
dataminer 2020-06-25
neverstopforcode 2020-06-18
zxznsjdsj 2020-06-16
langyue 2020-06-13
huangyx 2020-06-11
鲁氏汤包王 2020-06-11
LWLWLiang 2020-05-28
wkwanglei 2020-05-26
Coohx 2020-04-13
thunderstorm 2020-05-09
Andrea0 2020-05-04
数据库工具开发 2020-04-25
tlsmile 2020-04-24
helencoder 2020-04-10