【问题标题】:Parameterized Query Works but do I need the two lines?参数化查询有效,但我需要这两行吗?
【发布时间】:2012-08-21 14:10:44
【问题描述】:

下面的代码可以正常工作我只是想问我是否取出2行代码代码仍然可以正常工作但我应该把它取出还是保留它,它有什么作用?

提前感谢您的帮助。

        ' OPEN DATABASE
        dim objConn,objRS,objTRS,objUnit

'----Do I need this ? ----> Const adCmdText = &H0001

        Set objConn = Server.CreateObject("ADODB.Command") 
        objConn.ActiveConnection = "Driver={SQL Server};Server=MSSQLSrv;Database=DbTest;UID=blablabala;PWD=blablabala"

'----Do I need this ? ----> objConn.CommandType = adCmdText

        strQuery = "SELECT USERNAME,PASSWORD from CUSTOMERS where EMAIL=?"
        objConn.CommandText=strQuery 
        objConn.Parameters(0) = Request.QueryString("email")
        SET objRS = objConn.execute(strQuery)

【问题讨论】:

    标签: sql-server sql-server-2008 asp-classic parameters


    【解决方案1】:

    不,你不需要它。 Text 是默认值。

    【讨论】:

      【解决方案2】:

      第 1 行和第 2 行一起工作

      Const adCmdText = 1                  'Evaluate as a textual definition
      objConn.CommandType = adCmdText    ' Evaluate as textual definition, not stored procedure
      

      CommandType 可以是存储过程。您可以直接通过SP设置/定义自己的方式,然后调用(使用SqlCommand),因此无需定义UserDefinedFunction。

      有关所有 CommandTypeEnum 值的完整列表,请参阅 http://www.w3schools.com/ado/prop_comm_commandtype.asp

      希望这会有所帮助...

      【讨论】:

      • 啊,明白了,CommandType 属性设置或返回一个定义 Command 对象类型的 CommandTypeEnum 值。默认为 adCmdUnknown。如果不指定类型,ADO 将需要联系提供者来确定命令的类型。但是,如果您确实指定了类型,ADO 将能够更快地处理命令。所以我不需要它,thx
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2021-02-01
      • 1970-01-01
      • 2018-12-28
      • 1970-01-01
      • 2011-07-13
      • 1970-01-01
      • 2011-04-25
      相关资源
      最近更新 更多