参数化查询工作,但我需要两行吗?

时间:2012-08-21 14:10:45

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

下面的代码工作正常我只是想问一下,如果我拿出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)

2 个答案:

答案 0 :(得分:3)

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

答案 1 :(得分:1)

第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

希望这会有所帮助......