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
).之后,它只是将结果读取到局部变量。
我目前正在尝试将项目从 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
).之后,它只是将结果读取到局部变量。