我正在做一个sql到oracle的迁移.我必须改变很多旧的vbscript代码.这是我与Oracle一起使用的新代码的示例.这是造成问题的一点代码,
cmd.CreateParameter("v_CdEnt", adChar, adParamInput, 4, Request("ENTIDADE"))
Run Code Online (Sandbox Code Playgroud)
出于某种原因,我因adChar和adParamInput而出错.如果我使用
cmd.CreateParameter("v_CdEnt", 129 , 1 , 4, Request("ENTIDADE"))
Run Code Online (Sandbox Code Playgroud)
使用常量的值,一切正常.有任何想法吗??
Set cmd = Server.CreateObject("ADODB.Command")
Set oRS = Server.CreateObject("ADODB.Recordset")
With cmd
.ActiveConnection = GlobaloConn
.CommandText = "GetBalcoes"
.CommandType = 4 'adCmdStoredProc
.Parameters.Append cmd.CreateParameter("v_CdEnt", adChar, adParamInput, 4, Request("ENTIDADE"))
End With
Set oRS = cmd.Execute
do while not oRS.Eof
If oRS.Fields(1) = Request("BALCAO") then
%><option value="<%=oRS.Fields(1)%>" selected="selected"><%=left(oRS.Fields(2), 30) & "-" & oRS.Fields(1)%></option>
<%
Else
%><option value="<%=oRS.Fields(1)%>"><%=left(oRS.Fields(2), 30) & "-" & oRS.Fields(1)%></option>
<%
End If
oRS.MoveNext
loop
oRS.Close
Set oRS = nothing
Set cmd = nothing
Run Code Online (Sandbox Code Playgroud)
VBScript不了解ADODB的ad*常量.顺便说一句,同样适用于Excel或Word的xls*或wd*常量.
对于ad*常量,您可以:
.CommandType = 4 'adCmdStoredProc)Const adCmdStoredProc = 4)