ASPクラシックでパラメータ化クエリを作成しようとしていますが、壁に頭を打っているように感じ始めています。私は次のエラーを取得しています:パラメータのクエリでASPクラシック名前付きパラメータ:スカラー変数を宣言する必要があります
Must declare the scalar variable "@something".
私はハローラインが何をするかですが、多分私は何かが欠けてい誓う... ADOは疑問符を期待するために起こっている
<% OPTION EXPLICIT %>
<!-- #include file="../common/adovbs.inc" -->
<%
Response.Buffer=false
dim conn,connectionString,cmd,sql,rs,parm
connectionString = "Provider=SQLOLEDB.1;Integrated Security=SSPI;Data Source=.\sqlexpress;Initial Catalog=stuff"
set conn = server.CreateObject("adodb.connection")
conn.Open(connectionString)
set cmd = server.CreateObject("adodb.command")
set cmd.ActiveConnection = conn
cmd.CommandType = adCmdText
cmd.CommandText = "select @something"
cmd.NamedParameters = true
cmd.Prepared = true
set parm = cmd.CreateParameter("@something",advarchar,adParamInput,255,"Hello")
call cmd.Parameters.append(parm)
set rs = cmd.Execute
if not rs.eof then
Response.Write rs(0)
end if
%>
イップ。私もそれを得ることができました。しかし、クエリやステートメントがより複雑になると、パラメータの順序を把握するのが難しくなるため、指定されたアスペクトを有効にしたいと思っています。 –
これのいくつかのバリエーションを試した後、私は解決策を思い付くことができませんでした。私は、SQLコマンドを送信せずにストアドプロシージャを呼び出す場合にのみ、名前付きパラメータの使用がうまくいくと考えています。 –