![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Выполнение хранимой процедуры [D6, MSSQL]
robi © (2002-11-13 15:28:00)Здравствуйте, уважаемые знатоки! Вот такая проблемка:
на сервере есть ХП на обновлении записи
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, открываю таблицу, ИЗМЕНЕНИЙ нет!
Может я чего-то не догоняю? Помогите, пожайлуста!
Андрей Прокофьев (2002-11-13 16:36:00) [1]У меня Ваш пример работает нормально.
Проверьте Connection :))
robi (2002-11-13 16:13:00) [2]>Андрей Прокофьев Извиняюсь, ошибочка. В базе естесно, без запятой
:((
robi (2002-11-13 16:10:00) [3]Есть еще одна процедура InsertProc
with InsertProc do begin
InsertProc.Parameters.ParamByName("@Name").Value:=NameEdit.Text;
InsertProc.ExecProc;
Выполняется корректно, т.е в базе добаляется запись.
Почему не выполняется Update?
Андрей Прокофьев (2002-11-13 16:10:00) [4]CREATE PROCEDURE dbo.UpdateAgent
@Name varchar(40),
AS
тут зяпятая лишняя. значит процедура не такая, как Вы писали
robi (2002-11-13 16:02:00) [5]>Андрей Прокофьев
UpdateProcProcedureName=UpdateAgent
Prepared - true
Андрей Прокофьев (2002-11-13 15:50:00) [6]Set the Prepared property to True
Андрей Прокофьев (2002-11-13 15:49:00) [7]Хорошо бы узнать, чему равно UpdateProc.ProcedureName
robi (2002-11-13 15:42:00) [8]1.Попробовал без begin transaction commit transaction, все равно не обновляет
2.Я решил отказаться от ипользования ст.методов и перейти на ХП
Kaban (2002-11-13 15:34:00) [9]with UpdateProc do begin
UpdateProc.Parameters.ParamByName("@Name").Value:=NameEdit.Text;
UpdateProc.ExecProc;
end;
Интересный синтаксис
Mike_Goblin (2002-11-13 15:32:00) [10]1. ХП итак работает внутри транзакции, begin transaction commit transaction не нужны
2. Стоит ли для такого простого действия писать ХП?