明輝手游網(wǎng)中心:是一個免費提供流行視頻軟件教程、在線學習分享的學習平臺!

ADO如何使用Update語法

[摘要]Update Update表達式,用來更新表中字段的資料值,可以使用WHERE設定特定的條件運算式,符合條件運算式的記錄才會被更新。 語法如下: UPDATE 表 SET 字段新值 WHERE 條件運算式 當您要同時更新多個記錄,或者在多個表中更新記錄時,就需要用到UPDATE表達式。 您可以同時...

Update

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

語法如下:

UPDATE 表
SET 字段新值
WHERE 條件運算式

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

您可以同時更新多個字段的資料值,譬如,下例將產(chǎn)品表中的所有記錄,價格打九折,運費打七折:

UPDATE 產(chǎn)品

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

UPDATE表達式并不會產(chǎn)生Recordset。當您使用UPDATE表達式更新記錄之后,無法復原原始值。因此,如果您想知道哪些記錄將被更新,建議您先使用SELECT和相同的WHERE條件運算式來查詢結果,確定是您想更新的記錄后,然后再執(zhí)行UPDATE表達式更新記錄。

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

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

譬如ASP程式碼rs5.asp如下,[Update 產(chǎn)品 Set 數(shù)量 = 數(shù)量 + 10] 使用Update將產(chǎn)品表中的所有記錄的數(shù)量字段資料加10:

<%

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

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

sql = "Update 產(chǎn)品 Set 數(shù)量 = 數(shù)量 + 10"

Set a = conn1.Execute(sql)

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

sql = "Select * from 產(chǎn)品 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">數(shù)量</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("數(shù)量")%></TD>

</TR>

<%

rs3.MoveNext

Loop

rs3.Close

conn1.Close

%>

</TABLE>

以上的 ASP程式碼rs5asp,在用戶端使用瀏覽器,瀏覽執(zhí)行數(shù)量字段資料加10的結果,每執(zhí)行一次就將產(chǎn)品表中的數(shù)量加10。

Update...Where

UPDATE表達式,可以使用WHERE設定特定的更新條件,符合更新條件的記錄才做更新。

譬如ASP程式碼rs6.asp如下,[Update 產(chǎn)品 Set 數(shù)量 = 數(shù)量 + 10 where 種類 = '電腦'] 設定特定的更新條件,[種類] 字段為 [電腦] 的記錄才將數(shù)量加10:

<%

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

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

sql = "Update 產(chǎn)品 Set 數(shù)量 = 數(shù)量 + 10 where 種類 = '電腦'"

Set a = conn1.Execute(sql)

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

sql = "Select * from 產(chǎn)品 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">名稱</FONT></TD>

<TD ALIGN=CENTER BGCOLOR="#800000"><FONT COLOR="#FFFFFF">數(shù)量</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("數(shù)量")%></TD>

</TR>

<%

rs3.MoveNext

Loop

rs3.Close

conn1.Close

%>

</TABLE>

以上的 ASP程式碼rs6.asp,在用戶端使用瀏覽器,瀏覽執(zhí)行的結果,顯示數(shù)量加10的記錄。

Update...Where...In

可以利用Update...Where...In找出重復的記錄,譬如ASP程式碼rs6.asp如下,[Update 產(chǎn)品 Set 價格 = 價格 - 100 where 種類 = '電腦' and 價格 in (Select 價格 from 產(chǎn)品 where 價格 > 30000)] 表示價格 > 30000而 [種類] 字段為 [電腦] 的記錄才降價100:



<%

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

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

sql = "Update 產(chǎn)品 Set 價格 = 價格 - 100 where 種類 = '電腦' and 價格 in (Select 價格 from 產(chǎn)品 where 價格 > 30000)"

Set a = conn1.Execute(sql)

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

sql = "Select * from 產(chǎn)品 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">名稱</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>

</TR>

<%

rs3.MoveNext

Loop

rs3.Close

conn1.Close

%>

</TABLE>

以上的 ASP程式碼rs6.asp,在用戶端使用瀏覽器,瀏覽執(zhí)行的結果,顯示價格 > 30000的電腦才降價100。
(出處:熱點網(wǎng)絡)