文章导航PC6首页软件下载单机游戏安卓资源苹果资源

pc软件新闻网络操作系统办公工具编程服务器软件评测

安卓新闻资讯应用教程刷机教程安卓游戏攻略tv资讯深度阅读综合安卓评测

苹果ios资讯苹果手机越狱备份教程美化教程ios软件教程mac教程

单机游戏角色扮演即时战略动作射击棋牌游戏体育竞技模拟经营其它游戏游戏工具

网游cf活动dnf活动lol周免英雄lol礼包

手游最新动态手游评测手游活动新游预告手游问答

您的位置:首页技术开发ASP技巧 → ADO如何使用Update语法呢?(BIG5)

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

时间:2004/11/7 4:05:00来源:本站整理作者:蓝点我要评论(0)

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



%>































<% Do while not rs3.EOF %>



























<%



rs3.MoveNext



Loop



rs3.Close



conn1.Close



%>



代號 名稱 價格 數量
<%= rs3("代號")%> <%= rs3("名稱")%> <%= rs3("價格")%> <%= rs3("數量")%>




以上的 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



%>



























<% Do while not rs3.EOF %>























<%



rs3.MoveNext



Loop



rs3.Close



conn1.Close



%>



代號 名稱 數量
<%= rs3("代號")%> <%= rs3("名稱")%> <%= rs3("數量")%>




以上的 ASP程式碼rs6.asp,於用戶端使用瀏覽器,瀏覽執行的結果,顯示數量加10的記錄。



Update...Where...In



可以利用Update...Where...In找出重覆的記錄,譬如ASP程式碼rs6.asp如下,[Update 產品 Set 價格 = 價格 - 100 where 種類 = '電腦' and 價格 in (Select 價格 from 產品 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;"



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



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



Set a = conn1.Execute(sql)



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



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



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



%>



























<% Do while not rs3.EOF %>























<%



rs3.MoveNext



Loop



rs3.Close



conn1.Close



%>



代號 名稱 價格
<%= rs3("代號")%> <%= rs3("名稱")%> <%= rs3("價格")%>




以上的 ASP程式碼rs6.asp,於用戶端使用瀏覽器,瀏覽執行的結果,顯示價格 > 30000的電腦才降價100。




相关阅读 Mac访问Windows共享文件夹Windows 7正版系统验证方法windows 8.1系统版本号查看方法Windows 8.1系统电话激活时无法输入微软返回代码解决方法Windows 8如何调整屏幕分辨率windows8.1磁盘占用100%解决方法Mac双系统如何删除Boot Camp安装的Windows分区Apple教你如何在Mac 上运行 Windows

文章评论
发表评论

热门文章 没有查询到任何记录。

最新文章 VB.NET 2005编写定时关 Jquery get/post下乱码解决方法 前台gbk gb如何使用数据绑定控件显示数据ASP脚本循环语句ASP怎么提速

人气排行 轻松解决"Server Application Error"和iis"一起学习DataGridView调整列宽用ASP随机生成文件名的函数Jquery get/post下乱码解决方法 前台gbk gbODBC Drivers错误80004005的解决办法返回UPDATE SQL语句所影响的行数的方法用Javascript隐藏超级链接的真实地址两个不同数据库表的分页显示解决方案