Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

вызов хранимой процедуры MS SQL [D6, WinXP]


vvrz ©   (2006-10-20 12:06:00) 

Написал такую процедуру:
CREATE PROCEDURE MainEdit
  @vagon varchar(5),
  @cex  varchar(5)
  @kod varchar(5),
  @vag varchar(15)

AS
  UPDATE @vagon SET
 @cex =@kod

Where
  nomer=@vag
GO

Т.е. имя файла и имя поля таблицы в качестве параметра.  Check syntax без ошибок, но вызов выполнить не удается, затыкается при передачи имеми файла и имя поля.
Вопрос: будет ли работать такая процедура? и как правильно передать имя файла и имя поля таблицы в качестве параметра.
Пользовался
ADOStoredProc1.Parameters.ParamByName('@cex').Value:=cex;
...
ADOStoredProc1.ExecProc;

Или лучше использовать ADOQuery ?


vvrz   (2006-10-20 14:50:00) [1]

Спасибо, разобрался.


ЮЮ   (2006-10-20 12:45:00) [2]

Where
 nomer=@vag


явная недоделка:
  @nomer=@vag :))

Зачем вообще нужны такие процедуры?


Shirson   (2006-10-20 12:23:00) [3]

p.s. varchar (300), сорри

И пользуй ADOQuery. Всё остальное - чешуя.


Shirson   (2006-10-20 12:22:00) [4]

читать на предмет оператора EXECUTE, а конкретно "Using EXECUTE with a Character String"

В твоём случае, примерно так:

declare @sq varchar 300
set @sq='UPDATE '+@vagon+' SET '+@cex+'='+@kod+' Where nomer='+@vag
EXECUTE @sq


Наверх

Титульная страница Поиск, карта сайта Написать письмо