0

vbscript 的新手,不是特别喜欢它,但我的客户使用它,所以我无能为力!我无法使用参数化查询将数据添加到数据库中!请大家救救我!!

到目前为止,现有的代码是

function ecaddupdateDEV (thistable, idvar, vararray)

 for each varname in vararray
    valstring = valstring & ", session(""" & varname & """)"
        thesefields = thesefields & ", " & varname
  next
    thesefields = idvar & thesefields
  valstring = " array( " & ecremovel(valstring, 2) & ")"
  vals = eval(valstring)

set temprs = Server.CreateObject("ADODB.RecordSet")

  if session(idvar) = 0 then
  'response.Write("chid is 0 add new record")
    ' ADD THIS REC
    temprs.open thistable, db,1,3,2
    temprs.AddNew vararray, vals
    ecaddupdateDEV = temprs(idvar)
    temprs.close 

    set temprs = ecquery("select " & idvar  & "  from " & thistable & " order by " & idvar & " desc ")
    ecaddupdateDEV = temprs(idvar) 
  else
    ' UPDATE THIS REC
    selectclause = "select " & thesefields & " from " & thistable & " where " & idvar & " = " & session(idvar)
    temprs.open selectclause, db ,1,3
    temprs.update vararray, vals
    ecaddupdateDEV = temprs(idvar)
    temprs.close
  end if
  set temprs = nothing
end function

出于安全目的,我想要参数化的 temprs 变量,显然是大声笑!我只是不知道该怎么做!我刚刚读到的内容令人困惑,请帮助!提前谢谢了!

4

1 回答 1

0

使用命令而不是记录集。下面是一个示例,可以帮助您进行操作,但您可能需要对其进行调整,根据经验,命名参数实际上并不能正常工作,因此您按照它们在 SQL 语句中出现的顺序分配它们的值。

如何使用 ADO 调用 Access 数据库的参数化查询

于 2013-10-18T03:25:40.023 回答