当前位置: 首页 > 图文教程 > 网络编程 > ASP > ADO如何使用Update语法呢?(BIG5)

ASP
使用ASP和Word进行服务器端拼写检查
文本中首字母全改为大写
检测整数和长整数的函数
谈谈如何在不支持数据库的asp主页上运用ado
在多行文本框中显示读取信息
生成一个不重复的随即数字
网上追捕(很多实用的port)
用javascript隐藏超级链接的真实地址
给浏览器的滚动条加上颜色
asp+中是如何连接数据库ado+的
几个对图形进行动态处理的dhtml代码
域名登记查询(whois)很复杂吗--方法一
域名登记查询(whois)很复杂吗--方法二
用ASP创建多栏选项列表
asp中的一个奇怪的函数
瞒天过海html文件技术一瞥
如何在服务器上保存一定时间的信息
用ASP发 WAP MAIL(=)
创建弹出式“每日提示”窗口
用两行代码在浏览器中实现文件上传

ASP 中的 ADO如何使用Update语法呢?(BIG5)


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-11-03   浏览: 32 ::
收藏到网摘: n/a

  Update

Update陳述式,用來更新資料表中欄位的資料值,可以使用WHERE設定特定的條件運算式,符合條件運算式的記錄才會被更新。

語法如下:

UPDATE 資料表
SET 欄位新值
WHERE 條件運算式

當您要同時更新多個記錄,或者在多個資料表中更新記錄時,就需要用到UPDATE陳述式。

您可以同時變更多個欄位的資料值,譬如,下例將產品資料表中的所有記錄,價格打九折,運費打七折:

UPDATE 產品

SET 價格 = 價格 * 0.9, 運費 = 運費 * 0.7

UPDATE陳述式並不會產生Recordset。當您使用UPDATE陳述式更新記錄之後,無法復原原始值。因此,如果您想知道哪些記錄將被更新,建議您先使用SELECT和相同的WHERE條件運算式來查詢結果,確定是您想更新的記錄後,然後再執行UPDATE陳述式更新記錄。

當然您可以隨時將的資料作備份複製,萬一您使用UPDATE陳述式更新了錯誤的記錄,您仍然可以從您的備份中救回這些記錄。

讓我們看一個於ASP程式碼當中使用這個SQL指令的例子。

譬如ASP程式碼rs5.asp如下,[Update 產品 Set 數量 = 數量 + 10] 使用Update將產品資料表中的所有記錄的數量欄位資料加10:

<%

Set conn1 = Server.CreateObject("ADODB.Connection")

conn1.Open "DBQ="& Server.MapPath("ntopsamp.mdb") &";Driver={Microsoft Access Driver (*.mdb)};DriverId=25;FIL=MS Access;"

'conn1.Open "driver={SQL Server};server=(Local);uid=sa;pwd=;database=NtopSamp"

sql = "Update 產品 Set 數量 = 數量 + 10"

Set a = conn1.Execute(sql)

Set rs3 = Server.CreateObject("ADODB.Recordset")

sql = "Select * from 產品 order by 代號"

rs3.Open sql,conn1,1,1,1

%>

<TABLE COLSPAN=8 CELLPADDING=5 BORDER=0>

<TR>

<TD ALIGN=CENTER BGCOLOR="#800000"><FONT COLOR="#FFFFFF">代號</FONT></TD>

<TD ALIGN=CENTER BGCOLOR="#800000"><FONT COLOR="#FFFFFF">名稱</FONT></TD>

<TD ALIGN=CENTER BGCOLOR="#800000"><FONT COLOR="#FFFFFF">價格</FONT></TD>

<TD ALIGN=CENTER BGCOLOR="#800000"><FONT COLOR="#FFFFFF">數量</FONT></TD>

</TR>

<% Do while not rs3.EOF %>

<TR>

<TD BGCOLOR="f7efde" ALIGN=CENTER><%= rs3("代號")%></TD>

<TD BGCOLOR="f7efde" ALIGN=CENTER><%= rs3("名稱")%></TD>

<TD BGCOLOR="f7efde" ALIGN=CENTER><%= rs3("價格")%></TD>

<TD BGCOLOR="f7efde" ALIGN=CENTER><%= rs3("數量")%></TD>

</TR>

<%

rs3.MoveNext

Loop

rs3.Close

conn1.Close

%>

</TABLE>

以上的 ASP程式碼rs5asp,於用戶端使用瀏覽器,瀏覽執行數量欄位資料加10的結果,每執行一次就將產品資料表中的數量加10。

Update...Where

UPDATE陳述式,可以使用WHERE設定特定的變更條件,符合變更條件的記錄才做變更。

譬如ASP程式碼rs6.asp如下,[Update 產品 Set 數量 = 數量 + 10 where 種類 = '電腦'] 設定特定的變更條件,[種類] 欄位為 [電腦] 的記錄才將數量加10:

<%

Set conn1 = Server.CreateObject("ADODB.Connection")

conn1.Open "DBQ="& Server.MapPath("ntopsamp.mdb") &";Driver={Microsoft Access Driver (*.mdb)};DriverId=25;FIL=MS Access;"

'conn1.Open "driver={SQL Server};server=(Local);uid=sa;pwd=;database=NtopSamp"

sql = "Update 產品 Set 數量 = 數量 + 10 where 種類 = '電腦'"

Set a = conn1.Execute(sql)

Set rs3 = Server.CreateObject("ADODB.Recordset")

sql = "Select * from 產品 order by 種類 DESC"

rs3.Open sql,conn1,1,1,1

%>

<TABLE COLSPAN=8 CELLPADDING=5 BORDER=0>

<TR>

<TD ALIGN=CENTER BGCOLOR="#800000"><FONT COLOR="#FFFFFF">代號</FONT></TD>

<TD ALIGN=CENTER BGCOLOR="#800000"><FONT COLOR="#FFFFFF