0

vbscript の初心者で、特に好きというわけではありませんが、私のクライアントは 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 に答える