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

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

SQL 2000 + ADO + Delphi [D6, MSSQL]


Belov ©   (2002-12-04 13:57:00) 

Помогите, кто может
Ситация в следующем
есть скрипт

create procedure test as
begin
insert into TABLE (Field1, Field2) values (@Value1, @Value2)
if @@error <> 0 goto error
return

error:
raiserror()
return

end

Пихаю это скрипт в ADOQuery1.SQL
вызываю ADOQuery1.ExecSQL;

Дельфи материться
В результате экспериментов было установлено, что матерится она на символ двоеточия, т.к. после него она ожидает параметр, которого ессесено нет.

Вопрос КАК это обойти


Belov   (2002-12-04 14:23:00) [1]

Все, разобрался.
Спасибо всем, кто пытался помочь


Belov   (2002-12-04 14:18:00) [2]

>stone
1. Извини, я их не указал в примере просто из-за невнимательности, но это не меняет суть дела.
2. При ADOCommand происходит тоже самое

>Jee
Да, не спорю можно и таким образом обойти, но у меня в процедуре порядке 8 инсертов и после каждого писать

if @@error <> 0
begin
raiserror ()
rollback transaction
return
end

Согласись, это не совсем...


stone   (2002-12-04 14:03:00) [3]

1. В теле процедуры используются параметры, которых нет ни в объявлении процедуры, и не объявлены в теле процедуры
2. Для выполнения скриптов лучше использовать TADOCommand


Jee   (2002-12-04 14:01:00) [4]

if @@error <> 0 raiserror()


Наверх

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