Форум: "Базы";
Текущий архив: 2003.03.06;
Скачать: [xml.tar.bz2];
ВнизПовтор вопроса - как выполнить запросы без ошибок? Найти похожие ветки
← →
nkrainev (2003-02-14 22:05) [0]Исходные данные:
Delphi 7. MySQL. Zeos (компоненты для доступа к БД)
Описание проблемы:
Необходимо выполнить ряд запросов к БД. Запросы - вставки записей INSERT. Имеются уникальные поля и если я пытаюсь вставить запись, которая уже в таблице есть, Дельфи выдает ошибку. Ее обработать мне удалось, но не удалось заставить TZBatchSQL выполнить все остальные запросы. Т.е. как только этот компонент находит ошибочный запрос, он сразу завершает все действия. Это грустно.
Вопросы:
Возможно ли все-таки выполнить все запросы, а ошибочные, допустим, посчитать (но это, впринципе, не так важно)? Или придется выполнять запросы по одному ( ОЧЕНЬ неудобно)?
____________
Спасибо за внимание,
Николай
← →
happyboy (2003-02-15 15:38) [1]Try
Запрос.
Except
Что делать, если запрос ошибочный.
End;
← →
jocko (2003-02-15 15:44) [2]На мой взгляд надо просто пересмотреть алгоритм, если ты на клиенте построчно перебираешь набор данных и вставляешь по записи, то это неэффективно...
Кроме того, зачем вставлять записи которые есть?
Сделай выборку только тех которых нет + необходимые условия, что-нибудь вроде
INSERT INTO SomeTable_1
SELECT SomeField
FROM SomeTable_2
WHERE SomeField not in (SELECT SomeField
FROM SomeTable_1 )
AND SomeField > ...или еще что
← →
PrettyFly (2003-02-15 15:58) [3]IF not QuerySuper.Locate(FieldName,Value,[]) Then
QuerySuper.Insert...
Страницы: 1 вся ветка
Форум: "Базы";
Текущий архив: 2003.03.06;
Скачать: [xml.tar.bz2];
Память: 0.44 MB
Время: 0.009 c