如何使用经典 ASP 更新 SQL 中的多条记录

How to update multiple records in SQL using Classic ASP

我正在尝试更新 Classic ASP 中具有相同社交的两条记录,但我不确定如何操作。这就是我所拥有的......但它不会更新两条记录。

    set rsTblEmpl=Server.CreateObject("ADODB.Recordset")
    if 1=1 then
        sql = "select * from tblEmpl where ssn=" & strSsn & ";"
    else
        sql = "select * from tblEmpl where eight_id=" & intEight_id & ";"
    end if 
    rsTblEmpl.open sql, conn, 2, 3
    if not rsTblEmpl.eof then
        rsTblEmpl("posid")   = StrPosId
        rsTblEmpl("posname") = StrPosName
        rsTblEmpl.update
    end if
    rsTblEmpl.close
    set rsTblEmpl=nothing

它只更新 1 个值的原因是因为您没有遍历所有记录。您只会更新它找到的第一条记录。因此,如果有多个记录具有相同的 SSN,则必须将 if 语句更改为循环。

do until rsTblEmpl.eof
    rsTblEmpl("posid")   = StrPosId
    rsTblEmpl("posname") = StrPosName
    rsTblEmpl.update
    rsTblEmpl.movenext
loop

或者您可以使用参数化 UPDATE 语句一次性完成所有这些:

UPDATE tblEmpl SET posid = ?, posname = ? WHERE ssn = ?

我假设顶部的 if 1=1 是占位符,因为现在它将始终为真,因此不需要 else