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

近日忘

近日忘

2016-01-29 18:05

ADO如何使用Update语法呢?(BIG5),ADO如何使用Update语法呢?(BIG5)
  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
展开更多 50%)
分享

猜你喜欢

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

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

ADO如何提供异动功能?(BIG5)

ASP
ADO如何提供异动功能?(BIG5)

s8lol主宰符文怎么配

英雄联盟 网络游戏
s8lol主宰符文怎么配

Foxmail如何阅读BIG5码邮件

电脑网络
Foxmail如何阅读BIG5码邮件

让TRichEdit支持BIG5内码

编程语言 网络编程
让TRichEdit支持BIG5内码

lol偷钱流符文搭配推荐

英雄联盟 网络游戏
lol偷钱流符文搭配推荐

Foxmail怎么发送BIG5码邮件

电脑网络
Foxmail怎么发送BIG5码邮件

在ADO使用SELECT语法一

ASP
在ADO使用SELECT语法一

lolAD刺客新符文搭配推荐

英雄联盟
lolAD刺客新符文搭配推荐

Excel批处理实现自动化操作

Excel批处理实现自动化操作

Solaris学习笔记(2)

Solaris学习笔记(2)
下拉加载更多内容 ↓