Автор Тема: Как передать в хранимую процедуру более одного параметра(ms sql server 2005)  (Прочитано 3457 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн _r()m@_

  • Коллежский регистратор
  • *
  • Сообщений: 2
  • Репутация: 0
Добрый день!
Столкнулся с небольшой проблемкой!
Необходимо выполнить хранимую процедуру(ms sql server 2005)
Следущего содержания:
_______________________________
CREATE PROCEDURE GetPresentBmp
@key int = 0,
@name nvarchar(50) = ''
AS
BEGIN
SET NOCOUNT ON;
SELECT sb.Представление FROM SW_Bar sb WHERE (sb.Код=@key) AND (sb.Наименование = @name);
END
GO
_______________________________
Пытаюсь это, сделать в delphi, cл кодом:

with DataAccess.DataModule1.SqlQueryT do
begin
Active:=False;
SQL.Clear;
ParamCheck:=True;
SQL.CommaText:='exec GetPresentBmp :key , :name';
Parameters.ParamByName('key').Value:=CurrentSideWa lkBar.Code;
Parameters.ParamByName('name').Value:=CurrentSideW alkBar.Name;
ExecSQL;
Open;
end;
где
CurrentSideWalkBar.Code:Integer;
CurrentSideWalkBar.Name:String;
А он мне ошибку - "Incorrect syntax near '@P2'"
Помогите пожалуйста, если кто знает в чём проблема
« Последнее редактирование: ёоЫм 27, 2009, 12:17:25 am от _r()m@_ »

Оффлайн _r()m@_

  • Коллежский регистратор
  • *
  • Сообщений: 2
  • Репутация: 0
Нашёл ошибку.
Рабочий код:
[DELPHI]...
ParamCheck:=False;
SQL.Text:='exec GetPresentBmp ? , ?';
Parameters.CreateParameter('key', ftInteger, pdInput, SizeOf(CurrentSideWalkBar.Code), CurrentSideWalkBar.Code );
 Parameters.CreateParameter('name', ftString, pdInput, SizeOf(CurrentSideWalkBar.Name),CurrentSideWalkBar.Name) ;
...[/DELPHI]