Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Обработка ошибок [D7, MsAccess]


=Grinder$= ©   (2005-10-19 12:46:00) 

Привет всем мастерам!
Суть проблемы:
Есть к примеру запрос:
"INSERT INTO users_tb SET name=:nam, address=:adr, telefon=:tel", где поле name - уникальное (т.е. не имеет повторяющихся записей)
например при выполнении (UpdateSQL1.execSQL(ukInsert)) с name = <имя которое есть в таблице users_tb> естественно вернется ошибка
Вопрос:
Как можно отловить этот момент, когда возвращается ошибка о повторении записи? Так как при выполнении UpdateSQL1.execSQL(ukInsert) сразу же выдается ошибка ODBC. Или можно как-нить ее убрать.
Так же и с Update-ом!
За раннее спасибо!


Sergey13   (2005-10-19 16:43:00) [1]

А зачем вообще такие конструкции UpdateSQL1.execSQL(ukInsert)?
Если UpdateSQL1 уже прикручен к датасету, то вроде логичней через датасет и работать. Просто Append, Edit, Post. Зачем через UpdateSQL то напрямую? Я так не пробовал, но наверное редактируемый датасет и не поменяется при этом без переоткрытия. Не так? Если так, то вроде вся вкусность теряется.


KorvinOE   (2005-10-19 16:28:00) [2]

А можешь просто перед этим делать запрос на наличие такой записи. И если есть уже запись с таким значением ключевого поля то делать соответствующую реакцию


=Grinder$=   (2005-10-19 13:10:00) [3]

for stone
Ссори.
"UPDATE users_tb SET name=:nam, address=:adr, telefon=:tel"
Думал об одном написал другое. Бывает! ))


TuborgGreen   (2005-10-19 12:50:00) [4]

try
 UpdateSQL1.execSQL
except
 здесь обработка ошибки
end


stone   (2005-10-19 12:48:00) [5]


> Есть к примеру запрос:
> "INSERT INTO users_tb SET name=:nam, address=:adr, telefon=:
> tel"

Это гда такие запросы пишут?

> UpdateSQL1.execSQL(ukInsert) сразу же выдается ошибка ODBC.
>  Или можно как-нить ее убрать.

Смотри на свой запрос


Наверх

Титульная страница Поиск, карта сайта Написать письмо