频道直达 - 学院 - 下载 - 交易 - 截图 - 特效 - 字库 - 手册 - 排名-工具 - 繁體
设为首页
加入收藏
联系我们
建站搜索: 虚拟主机  域名注册   常用广告代码      用户注册 | 用户登陆
您当前的位置:中国建站之家 -> 网站开发 -> ASP -> 文章内容
精彩推荐
热门文章
· 注册码大全二
· 注册码大全四
· 注册码大全一
· 通过google 赶快来赚..
· [图文] 头像-qq头像(..
· 要10G免费网络硬盘的..
· 注册码大全三
· 注册码大全十
· [图文] 梦幻背景图片..
· [图文] 卡通动物图片..
相关文章
· 正则表达式简介(微软)..
· PHP语句中or的用法
· 聊天室技术-处理异常离线..
· SEO需要掌握什么
· ASP.NET虚拟主机的重大安..
· 创建移动Web应用程序(4)..
· 下拉菜单输入,根据输入内..
· ProFtpd快速指南(二)
· 一个程序员的一生
· 胡戈新片《鸟笼山剿匪记..
ADO如何使用Update语法
作者:未知  来源:转载  发布时间:2005-7-27 16:24:22  发布人:acx

减小字体 增大字体

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;"

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;"

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">名称</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,在用户端使用浏览器,浏览执行的结果,显示数量加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;"

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

%>

<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,在用户端使用浏览器,浏览执行的结果,显示价格 > 30000的电脑才降价100。
转载http://asp123.on.net.cn 


原作者:不详
来 源:不详


[打 印]
[] [返回上一页] [收 藏]
上一篇文章:ADO 事件模型
∷相关文章评论∷    (评论内容只代表网友观点,与本站立场无关!) [更多评论...]
关于本站 - 网站帮助 - 广告合作 - 下载声明 - 友情连接 - 网站地图 - 人才招聘
网站合作、内容监督、商务咨询:QQ: 9576619
Copyright ? 2005--2008 中国建站之家版权所有
未经授权禁止转载、摘编、复制或建立镜像.如有违反,追究法律责任.
免责申明:中国建站之家(www.jz123.cn)上的所有提供下载的软件和资源
均来源于网络,为软件或程序作者提供和网友推荐收集整理而来,仅供学习
和研究使用。如有侵犯你的版权,请立即联系我们,本站将在3个工作日内删除。
粤ICP备05092265号