Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2003.03.06;
Скачать: CL | DM;

Вниз

Повтор вопроса - как выполнить запросы без ошибок?   Найти похожие ветки 

 
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;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.02 c
1-17005
mikk
2003-02-21 22:32
2003.03.06
УЖАСНЫЕ ГЛЮГИ В DELPHI6


6-17216
neodiX
2003-01-13 01:25
2003.03.06
Что за ошибка, в чем причина?


7-17423
Stas
2003-01-05 19:38
2003.03.06
Как мне подсчитать кол-во файлов и каталогов на HDD?


3-16964
Alik
2003-02-14 11:37
2003.03.06
Прокрутка StringGrid


14-17269
BALU1111
2003-02-19 14:36
2003.03.06
Взломать программу.