【发布时间】:2015-12-03 20:24:19
【问题描述】:
我正在尝试使用参数化 SQL 在 vbscript 中创建 LIKE SQL 语句。
通过的命令文本是沿线
SET NOCOUNT ON;
DECLARE @pname as nvarchar(50);
SELECT @pname = ?;
SELECT *
FROM tblProject
WHERE projName LIKE @pname
我将 % 连接到作为 pname 传递的字符串的任一侧。如果我将 LIKE 更改为 = 并删除 %s 那么它工作正常。如果我直接运行该语句并将 @pname 替换为 '%searchterm%' 它工作正常。任何帮助将非常感激。
编辑:vbscript:
Set rsAnswers = Server.CreateObject("ADODB.Recordset")
Set cmd = server.createobject("ADODB.Command")
cmd.CommandText = mySQL
cmd.CommandType = 1
cmd.CommandTimeout = 900
cmd.ActiveConnection = svrPerformanceConnectionset prm = cmd.CreateParameter("@pname", 129, 1, 50, thisProjName)
cmd.Parameters.Append prm
rsAnswers.CursorLocation = 3
rsAnswers.Open cmd, , 0, 1
(thisProjName 正在从表单中获取字符串)
谢谢, 蒂姆
【问题讨论】:
-
它应该适用于
@pname中的任何特殊字符,%除外 -
您应该发布所有 vbscript 代码。如果使用 SQL Profiler 进行跟踪,您会看到什么?
-
@Nick.McDermaid 我添加了更多可能相关的 vbscript。整个页面超过 1000 行,但包含机密信息。我希望我发布的内容就足够了 :) 我已经从其他人那里接管了这段代码,但我对 vbscript 还是很陌生。
标签: sql-server vbscript sql-parametrized-query