在android中使用游标中的多个查询
我想去安卓系统中sqllite数据库的一些信息,但我不知道是什么。 我的代码是:在android中使用游标中的多个查询,android,sqlite,cursor,Android,Sqlite,Cursor,我想去安卓系统中sqllite数据库的一些信息,但我不知道是什么。 我的代码是: public Cursor getData(){ 字符串myPath=DB_PATH+DB_NAME; db=SQLiteDatabase.openDatabase(myPath,null, SQLiteDatabase.OPEN_READONLY); 游标c=db.rawQuery(“选择文本,从tbl_定律中选择父项_id=0”,空); //注意:Master是外部数据库中的一个表。这里我们尝试从外部数据库访
public Cursor getData(){
字符串myPath=DB_PATH+DB_NAME;
db=SQLiteDatabase.openDatabase(myPath,null,
SQLiteDatabase.OPEN_READONLY);
游标c=db.rawQuery(“选择文本,从tbl_定律中选择父项_id=0”,空);
//注意:Master是外部数据库中的一个表。这里我们尝试从外部数据库访问表的记录。
游标c1=db.rawQuery(“选择文本,从tbl中选择id,其中父项id=0”,null);
//注意:Master是外部数据库中的一个表。这里我们尝试从外部数据库访问表的记录。
返回c;
返回c1;
}
解决方案是调整SQL Select查询
您已经使用了rawQuery来获取信息,但是针对两个不同的cusor。这是行不通的
使用单个光标获取所需信息的解决方案可以是:
public Cursor getData() {
String myPath = DB_PATH + DB_NAME;
db = SQLiteDatabase.openDatabase(myPath, null,
SQLiteDatabase.OPEN_READONLY);
String query = "SELECT laws._id, laws.text," +
" nokt._id,nokt.text" +
" FROM tbl_laws AS laws, tbl_nokte AS nokt" +
" WHERE laws.parent_id = 0 AND nokt.parent_id = 0";
Cursor c = db.rawQuery(query, null);
return c;
}
其用途是:
public List<YourObject> getDataForYourObjects(Cursor c){
List<YourObject> yourObjects = new ArrayList<>();
if(c != null){
while(c.moveToNext(){
//law results
long lawsID = c.getLong(0);
String lawsText = c.getString(1);
//nokt results
long noktID = c.getLong(2);
String noktText = c.getString(3);
YourObject yo = new YourObject();
yo.addLaw(lawID, lawText);
yo.addNokt(noktID, noktText);
yourObjects.add(yo);
}
c.close();
}
return yourObjects;
}
公共列表getDataForYourObjects(光标c){
列出您的对象=新建ArrayList();
如果(c!=null){
while(c.moveToNext(){
//法律结果
long lawsID=c.getLong(0);
String lawsText=c.getString(1);
//nokt结果
long noktID=c.getLong(2);
String noktText=c.getString(3);
YourObject yo=新建YourObject();
yo.addLaw(lawID,lawText);
yo.addNokt(noktID,noktText);
添加(yo);
}
c、 close();
}
归还物品;
}
(上面的示例代码未经测试!)
希望能有帮助
此外,您还可以查看SQLite教程,如:
为了更熟悉sqlite
还可以查看android SQLite教程,如:
要获取更多关于Anroids SQLite和cursor对象的信息,请提供一些示例数据和所需的输出。谢谢您的帮助。但我想通过数据库中的信息使用多个listview。我想获取多个查询并在多个类中使用。您能帮我吗?