ASP:这段代码的目的到底是什么

ASP: What exactly is the purpose of this piece of code

我目前正在尝试将项目从 ASP 转移到 PHP。我没有使用 ASP 的经验,我发现很难弄清楚以下几行到底在做什么。

我可能应该提一下,最初的解决方案不是我自己构建的,我一无所知。如果有人可以分解这里实际发生的事情,我就可以模仿 PHP.

中的逻辑
set rs_register = server.createobject("adodb.recordset")
        rs_register.cursorlocation = adUseClient
        rs_register.open str_products_sql, str_connection, adOpenStatic, adLockPessimistic '(CursorType,LockType)
        rs_register.addnew
                rs_register("str_session_id") = session.sessionid
                rs_register("str_payment_ip") = request.servervariables("remote_addr")
                rs_register.update  
                int_payment_id = rs_register("int_payment_id")
                rs_register("str_reference") = get_reference(int_payment_id,str_payment_type)
                rs_register.update
                str_reference = rs_register("str_reference")
                str_session_id = rs_register("str_session_id")

                if int_payment_id = "" then
                int_payment_id = rs_register("int_payment_id")
                end if
                rs_register.close : set rs_register = nothing

要确定,您需要检查 str_products_sql 的内容 -- 这将告诉您您正尝试向哪个 table 添加新记录:

rs_register.open str_products_sql

此命令表示您正在添加新记录:

rs_register.addnew

然后您要设置几个字段并保存到数据库:

rs_register("str_session_id") = session.sessionid
rs_register("str_payment_ip") = request.servervariables("remote_addr")
rs_register.update  

之后,它会从新添加的记录(可能是自动递增字段或触发器)中读取 int_payment_id 字段,然后根据另一个函数设置 str_reference 字段(get_reference).之后,它只是将结果读取到局部变量。