Главная страница
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.014 c
3-4265
Filat
2002-11-08 15:54
2002.12.02
Компонент VGLib и работа с закладками


1-4359
wcom
2002-11-22 08:59
2002.12.02
Проблема с MDI и модальными окнами


1-4399
bAgmAn
2002-11-22 18:39
2002.12.02
Файлы


1-4410
Separator
2002-11-20 13:10
2002.12.02
Прикол с TThread


1-4427
yozhik
2002-11-18 17:15
2002.12.02
Обновление программы