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

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

Как запустить встроенную процедуру SQL серв.с параметрами [D6, MSSQL]


Lenik ©   (2005-06-09 14:26:00) 

date:='06/08/2005';

ADOCommand1.ConnectionString:='DRIVER={SQL Server};SERVER='+host+';DATABASE=Northwind;uid=sa;pwd=qwerty';
ADOCommand1.CommandType :=CmdStoredProc;
ADOCommand1.Parameters.ParamByName(date);
ADOCommand1.CommandText:= 'exec fz_udk';
ADOCommand1.Execute;

Выдаётся сообщение , что не найдена fz_udk
Подскажите ,как правильно написать


sniknik   (2005-06-10 10:46:00) [1]

это потому, что переменная в дельфях не является для mssql чемто значимым (он про нее (да и про дельфи) вообще ничего не знает).
значение дельфевой переменной надо передать в mssql, лучше параметром, но можно и модификацией запроса.
(и не спрашивай как, тебе приводили по крайней мере 2 варианта, повторятся моветон)


Lenik   (2005-06-10 09:49:00) [2]

date:='06/08/2005';

ADOCommand1.ConnectionString:='DRIVER={SQL Server};SERVER='+host+';DATABASE=Northwind;uid=sa;pwd=123456';
ADOCommand1.CommandText:= 'exec fz_udk date';
ADOCommand1.Execute;

Подскажите ,почему не работает !Ругается на ошибку конвертации
String в SmallDateTime


sniknik   (2005-06-09 18:21:00) [3]

о, сразу не заметил. + к тому что передается число а параметр строковый, еще и знак равно ни к чему там (ошибка синтаксиса).


Fay   (2005-06-09 17:48:00) [4]

date := '20050806';


sniknik   (2005-06-09 17:43:00) [5]

дата получилось не строка. читай сообщения об ошибках.


Lenik   (2005-06-09 17:31:00) [6]

date:='06/08/2005';

ADOCommand1.ConnectionString:='DRIVER={SQL Server};SERVER='+host+';DATABASE=Northwind;uid=sa;pwd=123456';
ADOCommand1.CommandText:= 'exec fz_udk ='+date;
ADOCommand1.Execute;

Подскажите ,почему не работает !


Lenik   (2005-06-09 17:13:00) [7]

в выражении
ADOCommand1.CommandText:= 'exec fz_udk ''06/08/2005''';
мне надо писать не '06/08/2005' ,а переменную ,в которую
надо предварительно записать это значение


Stanislav   (2005-06-09 16:57:00) [8]

Пишите так:
Exec Fz_udk :DATE
ADOCommand1.Parameters[0].Value:='06/08/2005'


Lenik   (2005-06-09 16:49:00) [9]

ADOCommand1.ConnectionString:='DRIVER={SQL Server};SERVER='+host+';DATABASE=Northwind;uid=sa;pwd=qwerty';
ADOCommand1.CommandText:= 'exec fz_udk ''06/08/2005''';
ADOCommand1.Execute;

Это работает , но мне надо передавать не конкретное значеие а переменную вида @date='06/08/2005'
в Sql запросе это выглядит так - Exec Fz_udk @date='06/08/2005'
встроенная процедура начинается так :
CREATE PROCEDURE fz_udk

@date varchar(10)
AS
.......
Поскажите ,как это реализовать в делфи


sniknik   (2005-06-09 15:37:00) [10]

> Не работет , хочет параметр @date ,используемый в процедуре fz_udk
не может быть. если ничего не менялоськроме этих свойств должно работать. (а если поставил CmdStoredProc то и пиши команду по его синтаксису, а проще в дизайн тайме набрать)


Lenik   (2005-06-09 15:30:00) [11]

ADOCommand1.ConnectionString:='DRIVER={SQL Server};SERVER='+host+';DATABASE=Northwind;uid=sa;pwd=qwerty';
ADOCommand1.CommandText:= 'exec fz_udk ''20050806''';
ADOCommand1.Execute;

Не работет , хочет параметр @date ,используемый в процедуре fz_udk


sniknik   (2005-06-09 15:15:00) [12]

ADOCommand1.ConnectionString:='DRIVER={SQL Server};SERVER='+host+';DATABASE=Northwind;uid=sa;pwd=qwerty';
ADOCommand1.CommandText:= 'exec fz_udk ''20050806''';
ADOCommand1.Execute;


Lenik   (2005-06-09 14:51:00) [13]

Всё равно не запускается , требует параметр date ,который используется во встроенной процедуре


stone   (2005-06-09 14:35:00) [14]

тут уж либо
> ADOCommand1.CommandType := cmdText;
либо
> ADOCommand1.CommandText:= 'fz_udk;1';


> ADOCommand1.Parameters.ParamByName(date);

а вот это вообще не понятно


Наверх

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