Оператор вставки SQLite (с использованием execSql) не работает в Honeycomb или более поздней версии. - PullRequest
0 голосов
/ 09 декабря 2011

Я использую execSql для обработки оператора INSERT, и он работал без ошибок на всех версиях Android, предшествующих сотовой структуре. В Honeycomb и позже приложение просто зависает. Он не возвращает исключение или какую-либо ошибку.

Оператор INSERT использует составной оператор SELECT с 3 UNION для предоставления значений.

Кто-нибудь еще сталкивался с этим?

Редактировать: Кажется, что только последний оператор SELECT вызывает зависание.

insert into RESULTS (Int_ID, SubjID, SubjName, SubjCompID,  SubjCompName, ObjID, ObjName, ObjCompID, ObjCompName,  IntType, MechID, Direction, Effect, Strength, Comment, Sort1, Sort2 )  
SELECT Int_ID, subdc.ID_comp as SubjID,  subdc.Name_comp as SubjName, ID_subject as SubjCompID,  subcompd.Name as SubjCompName, objdc.ID_Compound as ObjID,   objdc.Name_Compound as ObjName, ID_object as ObjCompID, objcompd.Name as ObjCompName,  IntType, MechID, Direction, Effect,Strength,Comment,   (subdc.ID_compound + objdc.ID_Compound)as Sort1, (ID_subject + ID_object)as Sort2  
FROM Int  
INNER JOIN t_Components subdc ON ID_subject = subdc.ID_Component  
INNER JOIN t_Components objdc ON ID_object = objdc.ID_Component  
INNER JOIN Comps subcompd ON ID_subject = subcompd.DrugID  
INNER JOIN Comps objcompd ON ID_object = objcompd.DrugID  
WHERE  subdc.ID_compound <> objdc.ID_Compound

1 Ответ

0 голосов
/ 23 декабря 2011

Просто нужно добавить больше операторов в предложение WHERE;Может быть, этот пост следует удалить?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...