Вниз
Скачать: 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 вся ветка

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



Память: 0.47 MB
Время: 0.012 c
6-4554
EleKtroNik
2002-09-28 00:09
2002.12.02
Анонимный Proxy


7-4650
Evolution Q
2002-09-27 15:05
2002.12.02
Помогите с отключением мыши!


14-4613
Vikuksa
2002-11-12 17:34
2002.12.02
Люди кто-нить работал с AdvColumnGrid????


14-4590
iNew
2002-11-12 10:49
2002.12.02
Вопрос по сетям


1-4426
NorthMAn
2002-11-23 13:15
2002.12.02
TTimer




   Наверх