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

Вниз

Выполнение хранимой процедуры   Найти похожие ветки 

 
robi ©   (2002-11-13 15:28) [0]

Здравствуйте, уважаемые знатоки! Вот такая проблемка:
на сервере есть ХП на обновлении записи

CREATE PROCEDURE dbo.UpdateAgent
@Name varchar(40),
AS
begin transaction
update dbo.Abonent
set
Name = @Name
commit transaction
GO

в приложении вызывается эта процедура

procedure TChangeAbonentForm.OkClick(Sender: TObject);
begin
with UpdateProc do begin
UpdateProc.Parameters.ParamByName("@Name").Value:=NameEdit.Text;
UpdateProc.ExecProc;
end;
Close;
end;


приложение выполняет ее и закрывается
Но! Захожу в Enterprise, открываю таблицу, ИЗМЕНЕНИЙ нет!
Может я чего-то не догоняю? Помогите, пожайлуста!


 
Mike_Goblin ©   (2002-11-13 15:32) [1]

1. ХП итак работает внутри транзакции, begin transaction commit transaction не нужны
2. Стоит ли для такого простого действия писать ХП?


 
Kaban ©   (2002-11-13 15:34) [2]

with UpdateProc do begin
UpdateProc.Parameters.ParamByName("@Name").Value:=NameEdit.Text;
UpdateProc.ExecProc;
end;

Интересный синтаксис


 
robi ©   (2002-11-13 15:42) [3]

1.Попробовал без begin transaction commit transaction, все равно не обновляет
2.Я решил отказаться от ипользования ст.методов и перейти на ХП


 
Андрей Прокофьев ©   (2002-11-13 15:49) [4]

Хорошо бы узнать, чему равно UpdateProc.ProcedureName


 
Андрей Прокофьев ©   (2002-11-13 15:50) [5]

Set the Prepared property to True


 
robi ©   (2002-11-13 16:02) [6]

>Андрей Прокофьев
UpdateProcProcedureName=UpdateAgent

Prepared - true


 
robi ©   (2002-11-13 16:10) [7]

Есть еще одна процедура InsertProc

with InsertProc do begin
InsertProc.Parameters.ParamByName("@Name").Value:=NameEdit.Text;
InsertProc.ExecProc;

Выполняется корректно, т.е в базе добаляется запись.
Почему не выполняется Update?


 
Андрей Прокофьев ©   (2002-11-13 16:10) [8]

CREATE PROCEDURE dbo.UpdateAgent
@Name varchar(40),
AS

тут зяпятая лишняя. значит процедура не такая, как Вы писали


 
robi ©   (2002-11-13 16:13) [9]

>Андрей Прокофьев Извиняюсь, ошибочка. В базе естесно, без запятой

:((


 
Андрей Прокофьев ©   (2002-11-13 16:36) [10]

У меня Ваш пример работает нормально.
Проверьте Connection :))



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

Текущий архив: 2002.12.02;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.023 c
1-4438
V-A-V
2002-11-20 08:33
2002.12.02
поиск в TreeView


1-4378
anog
2002-11-17 11:38
2002.12.02
MDM


1-4483
Вал
2002-11-20 16:48
2002.12.02
удаление строки из массива строкового типа


1-4456
Sirus
2002-11-20 12:04
2002.12.02
Как скопировать файл???


3-4241
zsnark
2002-11-05 17:59
2002.12.02
Исключение