Вниз
Скачать: CL | DM;

SQL 2000 + ADO + Delphi   Найти похожие ветки 

← →
Belov ©   (2002-12-04 13:57) [0]

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

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;

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

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


← →
Jee ©   (2002-12-04 14:01) [1]

if @@error <> 0 raiserror()


← →
stone ©   (2002-12-04 14:03) [2]

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


← →
Belov ©   (2002-12-04 14:18) [3]

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

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

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

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


← →
Belov ©   (2002-12-04 14:23) [4]

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



Страницы: 1 вся ветка

Скачать: CL | DM;



Память: 0.45 MB
Время: 0.016 c
1-74665
OlegL
2002-12-04 11:23
2002.12.23
Классы и обьекты


3-74586
serg_1
2002-12-03 12:28
2002.12.23
extended stored procedure


1-74790
dakus
2002-12-10 11:33
2002.12.23
Классы


1-74718
MegaVoltik
2002-12-10 17:54
2002.12.23
горячие клавиши


1-74686
viper
2002-12-13 12:18
2002.12.23
Проблема с переносами!




   Наверх