![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
вызов хранимой процедуры 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