![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Обработка ошибок [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.
> Или можно как-нить ее убрать.
Смотри на свой запрос