不包括CommandType的动态sql的副作用?

时间:2009-07-27 14:31:29

标签: sql asp-classic vbscript dynamic-sql parameterized

在运行动态SQL调用时,如果不设置cmd.CommandType属性,可能会遇到哪些陷阱?我无法使用adovbs.inc,使用cmd.CommandType = 200会产生错误:

  

ADODB.Command(0x800A0BB9)参数   是错误的类型,是出于   可接受的范围,或有冲突   彼此。

因此,通过评论此行,所有内容似乎都按计划运行。但是,我可能遇到什么问题?

以下是代码的片段,用于上下文。

        Dim cmd
        Set cmd = Server.CreateObject("ADODB.Command")
        cmd.ActiveConnection = dbConn
        cmd.CommandText = "SELECT * FROM Users WHERE active = 1 AND username=? AND password=?"
        cmd.CommandType = 200 'advarchar
        cmd.Parameters(0) = request.form("username")
        cmd.Parameters(1) = request.form("password")
        Dim RS
        Set RS = cmd.Execute()

1 个答案:

答案 0 :(得分:4)

你有

cmd.CommandType = 200 ' adVarChar

您确定不想要

吗?
cmd.CommandType = 1 ' adCmdText

代替?