【问题标题】:passing parameters into stored procedures classic asp将参数传递到存储过程经典 asp
【发布时间】:2011-06-16 08:32:59
【问题描述】:

我之前问过一个类似的问题,虽然我试图修复我以前的代码,但现在我得到了一个错误“参数的类型错误,超出了可接受的范围,或者相互冲突”。我想传递一个字符作为参数来查询数据库,然后使用记录集打印到网页。我的经典asp代码如下

Set objCon = CreateObject("ADODB.Connection")
Set objRS = CreateObject("ADODB.Recordset")
set objComm = CreateObject("ADODB.Command")

objCon.ConnectionString = "Provider=SQLOLEDB.1;Password=xxxx;Persist Security Info=True;User ID=xxxx;Initial Catalog=Movies;Data Source=xxxx-PC"
objCon.open objCon.ConnectionString

objComm.ActiveConnection = objCon.ConnectionString
objComm.CommandText = "Paging_Movies"
objComm.CommandType = adCmdStoredProc

Set objParameter = objComm.CreateParameter
objParameter.Name = "alphaChar"
objParameter.Type = adChar
objParameter.Direction = adParamInput
objParameter.Value = "a"

objComm.Parameters.Append objParameter

set objRs = objComm.Execute

我的存储过程也在下面 -

CREATE PROCEDURE Paging_Movies
@alphaChar char(1)
AS
if @alphaChar = '#'
    select * from Movies where movies like '[^a-z]%'
else
    select * from Movies where movies like @alphaChar + '%'

【问题讨论】:

    标签: sql stored-procedures vbscript asp-classic


    【解决方案1】:

    也许您要添加两次参数。尝试替换:

    objComm.ActiveConnection = objCon.ConnectionString
    objComm.CommandText = "Paging_Movies"
    objComm.CommandType = adCmdStoredProc
    
    Set objParameter = objComm.CreateParameter
    objParameter.Name = "alphaChar"
    objParameter.Type = adChar
    objParameter.Direction = adParamInput
    objParameter.Value = "a"
    
    Set objParameter = objCommand.CreateParameter ("alphaChar", adChar, _
        adParamInput, "a")
    
    objComm.Parameters.Append objParameter
    

    只需:

    objCommand.CreateParameter ("alphaChar", 129, 1, 1, "a")
    

    已根据您的评论建议使用来自W3Schools CreateParameter pageadChar (129) 和adParamInput (1) 的数值。

    【讨论】:

    • 很遗憾我的类型不匹配?
    • @kurupt89:尝试指定长度为 1? See this manual page.
    • 感谢您的回复帮助我找到了答案。我还必须将 adChar 和 adParamInput 更改为数字表示
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-01-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-09-18
    相关资源
    最近更新 更多