zoukankan      html  css  js  c++  java
  • ASP中使用存储过程,遭遇"参数类型不正确,或不在可以接受的范围之内,或与其他参数冲突"错误

          今儿需要帮同事改一个ASP的页面,原本里面好几个SQL查询,在ASP页面里我觉得啰嗦,而且效率也低,于是将查询放到SQLServer的存储过程里,但是以前没有使用过ASP的存储过程,在网上找来例子,照葫芦画瓢:

    Function GetCameraUrl(Conn,CameraId)

          const   adCmdStoredProc   =  &H0004    
          const   adVarChar   =   200  
          Const   adChar   =   129  
          Const   adInteger   =   3    
          const   adParamUnknown   =   &H0000  
          const   adParamInput   =   &H0001  
          const   adParamOutput=   &H0002  
          const   adParamInputOutput=   &H0002  
          const   adParamReturnValue   =   &H0004  

        Dim url
        Set cmdTest = Server.CreateObject("ADODB.Command")           
        With cmdTest   
            .ActiveConnection = Conn
            .CommandText = "[df1500].[dbo].[sp_GetCameraConnectionInfo]"
            .CommandType = adCmdStoredProc
            '.CommandType = adCmdText
            .Parameters.Append cmdTest.CreateParameter("RETURN", adInteger, adParamReturnValue, 4)
            .Parameters.Append .CreateParameter("@camera_id", adInteger, adParamInput, 4,CameraId)
            .Parameters.Append .CreateParameter("@url", adVarChar, adParamOutput, 1024)
            .Execute
            url = .Parameters("@url").Value
        End With       
        set cmdTest = Nothing
        GetCameraUrl = url

    End Function

    但是一执行就发现错误:

    参数类型不正确,或不在可以接受的范围之内,或与其他参数冲突 错误出现在这一行

            .CommandType = adCmdStoredProc 

     本来很少用ASP,出现这样的提示让人摸不着头脑,我原本以为adCmdStoredProc是内部定义好的东西,网上其他高手说这个东西需要自己定义,哦,明白了。改正后的代码如下:

          const   adCmdStoredProc   =  &H0004    
          const   adVarChar   =   200  
          Const   adChar   =   129  
          Const   adInteger   =   3    
          const   adParamUnknown   =   &H0000  
          const   adParamInput   =   &H0001  
          const   adParamOutput=   &H0002  
          const   adParamInputOutput=   &H0002  
          const   adParamReturnValue   =   &H0004  

      

    Function GetCameraUrl(Conn,CameraId)

          const   adCmdStoredProc   =  &H0004    
          const   adVarChar   =   200  
          Const   adChar   =   129  
          Const   adInteger   =   3    
          const   adParamUnknown   =   &H0000  
          const   adParamInput   =   &H0001  
          const   adParamOutput=   &H0002  
          const   adParamInputOutput=   &H0002  
          const   adParamReturnValue   =   &H0004  

        Dim url
        Set cmdTest = Server.CreateObject("ADODB.Command")           
        With cmdTest   
            .ActiveConnection = Conn
            .CommandText = "[df1500].[dbo].[sp_GetCameraConnectionInfo]"
            .CommandType = adCmdStoredProc
            '.CommandType = adCmdText
            .Parameters.Append cmdTest.CreateParameter("RETURN", adInteger, adParamReturnValue, 4)
            .Parameters.Append .CreateParameter("@camera_id", adInteger, adParamInput, 4,CameraId)
            .Parameters.Append .CreateParameter("@url", adVarChar, adParamOutput, 1024)
            .Execute
            url = .Parameters("@url").Value
        End With       
        set cmdTest = Nothing
        GetCameraUrl = url

    End Function

  • 相关阅读:
    Atitit 趋势管理之道 attilax著
    Atitit 循环处理的新特性 for...else...
    Atitit 2017年的技术趋势与未来的大技术趋势
    atitit 用什么样的维度看问题.docx 如何了解 看待xxx
    atitit prj mnrs 项目中的几种经理角色.docx
    Atitit IT办公场所以及度假村以及网点以及租房点建设之道 attilax总结
    Atitit 工具选型的因素与方法 attilax总结
    Atitit.团队文化建设影响组织的的一些原理 法则 定理 效应 p826.v4
    Atiitt 管理方面的误区总结 attilax总结
    Atitit 未来趋势把控的书籍 attilax总结 v3
  • 原文地址:https://www.cnblogs.com/jans2002/p/921038.html
Copyright © 2011-2022 走看看