|
передача параметра в хранимую процедуру из ASP
|
|||
---|---|---|---|
#18+
в базе MS SQL2000 имеется таблица Table с полем FieldDate ( формат DATETIME ), создаю в базе SP CREATE PROCEDURE dbo.SelectDate @curdate DATETIME AS SELECT * FROM Table WHERE FieldDate = @curdate GO запускаю ее из Query Analyzer SelectDate '01.08.2002' - выполняется без проблем в приложении ASP создаю коннект к базе <% Dim cn Set cn = Server.CreateObject("ADODB.Connection") cn.Provider = "sqloledb" cn.ConnectionString = "Server=ServName;Database=BaseName;UID=user;PWD=pass;" cn.Open %> запускаю SP при помощи объекта Command с явным указанием значения параметра <% Dim cmd Dim curdate Set cmd = Server.CreateObject("ADODB.Command") Set cmd.ActiveConnection = cn cmd.CommandText = "SelectDate @curdate='01.08.2002'" Set rs = cmd.Execute %> - выполняется без проблем теперь присваиваю переменной curdate в программе значение, например curdate = "01.08.2002" и пытаюсь подставить cmd.CommandText = "SelectDate curdate" применительно к строке Set rs = cmd.Execute получаю ошибку Microsoft OLE DB Provider for SQL Server ошибка '80040e07' Error converting data type nvarchar to datetime. пытась описать параметр Set cmd = Server.CreateObject("ADODB.Command") Set parm0 = Server.CreateObject("ADODB.Parameter") Set cmd.ActiveConnection = cn cmd.CommandText = "SelectDate curdate" parm0.Direction = adParamInput parm0.Type = adDateTime parm0.Size = 8 cmd.Parameters.Append parm0 cmd.Parameters(0).Value = curdate Set rs = cmd.Execute применительно к строке parm0.Direction = adParamInput получаю ошибку ADODB.Parameter ошибка '800a0bb9' Arguments are of the wrong type, are out of acceptable range, or are in conflict with one another. Ситуация-то вроде простая - параметр в процедуру передать, а вот не выходит :((( Помогите, плиз ... |
|||
:
Нравится:
Не нравится:
|
|||
27.01.2003, 18:38 |
|
передача параметра в хранимую процедуру из ASP
|
|||
---|---|---|---|
#18+
cmd.CommandText = "SelectDate '" & curdate & "'" esli ne rabotaet to yzvno ukazhi format date cmd.CommandText = "set dateformat dmy" cmd.Execute cmd.CommandText = "SelectDate '" & curdate & "'" cmd.Execute ... |
|||
:
Нравится:
Не нравится:
|
|||
27.01.2003, 22:34 |
|
|
start [/forum/topic.php?fid=18&msg=32097073&tid=1396584]: |
0ms |
get settings: |
10ms |
get forum list: |
13ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
31ms |
get topic data: |
9ms |
get forum data: |
3ms |
get page messages: |
44ms |
get tp. blocked users: |
1ms |
others: | 250ms |
total: | 367ms |
0 / 0 |