我正在进行oracle迁移的SQL。我必须改变很多旧的vbscript代码。 这是我与Oracle一起使用的新代码的示例。 这是造成问题的代码,
cmd.CreateParameter("v_CdEnt", adChar, adParamInput, 4, Request("ENTIDADE"))
出于某种原因,我因adChar和adParamInput而出错。如果我使用
cmd.CreateParameter("v_CdEnt", 129 , 1 , 4, Request("ENTIDADE"))
使用常量的值,一切正常。 任何想法??
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
答案 0 :(得分:6)
VBScript不了解ADODB的ad *常量。顺便说一句,同样适用于Excel或Word的xls *或wd *常量。
对于ad *常数,您可以:
.CommandType = 4 'adCmdStoredProc
)Const adCmdStoredProc = 4
)