更新SQL Server表
下面的代码是如何工作的?我从来没有见过这样做的更新。我总是这样说:更新SQL Server表
http://www.w3schools.com/sql/sql_update.asp
sqlText = "SELECT * FROM pricing WHERE pid=1"
rsx.Open sqlText, cnx, 1, 2
if Not rsx.EOF then
rsx("new_us") = Request.Form("new_us")
rsx("new_us_desc") = Rtrim(Request.Form("new_us_desc"))
rsx("new_ca") = Request.Form("new_ca")
rsx("new_ca_desc") = Rtrim(Request.Form("new_ca_desc"))
rsx("new_int") = Request.Form("new_int")
rsx("new_int_desc") = Rtrim(Request.Form("new_int_desc"))
rsx("conv_us") = Request.Form("conv_us")
rsx("conv_us_desc") = Rtrim(Request.Form("conv_us_desc"))
rsx("conv_ca") = Request.Form("conv_ca")
rsx("conv_ca_desc") = Rtrim(Request.Form("conv_ca_desc"))
rsx("conv_int") = Request.Form("conv_int")
rsx("conv_int_desc") = Rtrim(Request.Form("conv_int_desc"))
rsx("ren_us") = Request.Form("ren_us")
rsx("ren_us_desc") = Rtrim(Request.Form("ren_us_desc"))
rsx("ren_ca") = Request.Form("ren_ca")
rsx("ren_ca_desc") = Rtrim(Request.Form("ren_ca_desc"))
rsx("ren_int") = Request.Form("ren_int")
rsx("ren_int_desc") = Rtrim(Request.Form("ren_int_desc"))
rsx.Update
end if
rsx.Close
cnx.Close
Set rsx = Nothing
Set cnx = Nothing
感谢
布雷特
首先执行rsx.Open
的查询。 cnx
是与db的连接,参数值1是CursorType = adOpenKeyset
,参数值2是LockType = adLockPessimistic
。
sqlText = "SELECT * FROM pricing WHERE pid=1"
rsx.Open sqlText, cnx, 1, 2
rsx
是Recordset
(COM对象),它保存返回的行。 if Not rsx.EOF then
检查您确实至少有一行,否则编辑将失败。
此rsx("new_us") = Request.Form("new_us")
为Recordset
中的字段分配新值。
最后rsx.Update
将修改的字段保存到数据库。 cnx
使用的OLE DB提供程序构建发送到数据库的更新语句。
所以基本的工作流程是:
- 从数据库
- 修改排
- 提取一行送行回DB
感谢你们两位的回答。我感谢你的时间。 – 2011-02-26 14:42:39
此:http://www.w3schools.com/ado/ado_ref_recordset.asp应该帮助;)
它是一个ADO记录集(不是ADO.NET)。通过记录集(本例中为rsx),您可以访问查询的字段。通过更改该值,可以通过Update方法更新数据库。
是的,它是嵌入在ASP页面中的SQL的经典ASP。 – 2011-02-25 00:57:24
他们以SELECT语句开始,检查是否存在该记录,然后更新记录。这会被认为是执行UPDATE的最佳方式吗?感谢Brett – 2011-02-25 01:02:12
我不知道这是否是最好的方法,但最大的好处是我们无需管理更新的实施。通过利弊,现在它是一个相当古老的技术,最好转向效率更高的ADO.NET。 – Xavinou 2011-02-25 07:43:18
对不起,标题应该是MS SQL表。 ..谢谢 – 2011-02-24 18:32:57
这是什么类型的文件?这不仅仅是SQL,它嵌入在其他类型的代码中。 – Dubmun 2011-02-24 18:34:49
看起来像VB 5/6或经典的ASP(VBScript)给我。 – Dean 2011-02-24 18:38:11