android sqlite union,如何从表中检索结果?
我有一个SQLite查询:android sqlite union,如何从表中检索结果?,android,sqlite,union,Android,Sqlite,Union,我有一个SQLite查询: Cursor orgiCursor = orgiDb.rawQuery("select task,taskDate from meeting where exists (select `meeting.taskId from Task, meeting where meeting.taskId = Task.taskId and task.name='"+profName+"') UNION SELECT subject,date from taskDeadlin
Cursor orgiCursor = orgiDb.rawQuery("select task,taskDate from meeting where exists
(select `meeting.taskId from Task, meeting where meeting.taskId = Task.taskId and task.name='"+profName+"')
UNION SELECT subject,date from taskDeadline where exists (select taskDeadline.taskId from taskDeadline,Task where taskDeadline.taskId=Task.taskId and Task.name='"+profName+"') union select
specificOccassion,setDate from AnnualTask where exists (select taskId from Task,AnnualTask where Task.taskId = AnnualTask.taskId and Task.name = '"+profName+"' and AnnualTask.setDate<>'--')", null);
它返回此错误:请帮帮我
02-12 19:28:00.809: INFO/Database(14515): sqlite returned: error code = 1, msg = ambiguous column name: taskId
02-12 19:28:00.849: ERROR/AndroidRuntime(14515): Caused by: android.database.sqlite.SQLiteException: ambiguous column name: taskId: , while compiling: select task,taskDate from meeting where exists (select meeting.taskId from Task, meeting where meeting.taskId = Task.taskId and task.name='Maria Ozawa')UNION SELECT subject,date from taskDeadline where exists (select taskDeadline.taskId from taskDeadline,Task where taskDeadline.taskId=Task.taskId and Task.name='Maria Ozawa') union select specificOccassion,setDate from AnnualTask where exists (select taskId from Task,AnnualTask where Task.taskId = AnnualTask.taskId and Task.name = 'Maria Ozawa' and AnnualTask.setDate<>'--')
02-12 19:28:01.059: ERROR/Database(14515): close() was never explicitly called on database '/data/data/orgy.organizer.home/databases/orgi'
02-12 19:28:01.059: ERROR/Database(14515): android.database.sqlite.DatabaseObjectNotClosedException: Application did not close the cursor or database object that was opened here
任何帮助都将不胜感激……:
因此,我的问题是:
1.关闭连接/光标需要代码的哪一部分?
2.为什么Eclipse会给我这个错误?我试着在SQLite Manager中运行同样的语句,它给了我完美的结果 错误似乎出现在查询中,它没有关闭光标的事实是因为他没有正确地计算查询 尝试使用别名当您使用属性taskId时,会多次使用它,可能会混淆编译器
希望这有帮助 多谢各位。我今天要试试
02-12 19:28:00.809: INFO/Database(14515): sqlite returned: error code = 1, msg = ambiguous column name: taskId
02-12 19:28:00.849: ERROR/AndroidRuntime(14515): Caused by: android.database.sqlite.SQLiteException: ambiguous column name: taskId: , while compiling: select task,taskDate from meeting where exists (select meeting.taskId from Task, meeting where meeting.taskId = Task.taskId and task.name='Maria Ozawa')UNION SELECT subject,date from taskDeadline where exists (select taskDeadline.taskId from taskDeadline,Task where taskDeadline.taskId=Task.taskId and Task.name='Maria Ozawa') union select specificOccassion,setDate from AnnualTask where exists (select taskId from Task,AnnualTask where Task.taskId = AnnualTask.taskId and Task.name = 'Maria Ozawa' and AnnualTask.setDate<>'--')
02-12 19:28:01.059: ERROR/Database(14515): close() was never explicitly called on database '/data/data/orgy.organizer.home/databases/orgi'
02-12 19:28:01.059: ERROR/Database(14515): android.database.sqlite.DatabaseObjectNotClosedException: Application did not close the cursor or database object that was opened here