久久久久成人免费看a含羞草久色_91福利资源站_好色综合网_久久久久国产精品一区二区三区_一级片免费看_久久久久国产精品久久久久

订阅本栏目 RSS您所在的位置: 深山工作室 > ASP > 正文

ASP事务处理 for access

网络 2009/5/6 20:57:19 深山行者 字体: 浏览 9877

所谓事务处理,简单地说,就是所有的数据库操作都可以看做事务处理。当开始一个事务处理后,就打开Web页面与数据库的事务处理通道,此时可以从Web页面上直接更新数据库内容,但是更新结果并不马上真正反映到数据库中。只有在提交事务处理结果后,数据库内容才能被真正更新,否则,所有的操作都无效。

用法举例(db1.mdb中有一个test表,只包含一个name文本字段):

<%
Dim conn,sqlstr,sqlstr2,sqlstr3
Set conn=server.createobject("ADODB.connection")
Conn.connectionstring="provider=microsoft.jet.oledb.4.0; data source=" & server.mappath("db1.mdb")
Conn.open
sqlstr="insert into test(name) values('aaa')"   '正确的SQL语句
sqlstr2="insert into test(name2) values('bbb')"   '错误的SQL语句
sqlstr3="insert into test(name) values('ccc')"   '正确的SQL语句
Conn.BeginTrans
conn.execute(sqlstr)
conn.execute(sqlstr2)
conn.execute(sqlstr3)
If conn.Errors.Count=0 then
     Conn.CommitTrans
     Response.write ""
Else
     Conn.RollbackTrans
     Response.write ""
End if
Conn.close
Set conn=nothing
%>

这样当执行到错误的SQL语句时程序抛出错误信息,不再理会后面第三条SQL语句正确与否,事务处理机制生效,整个提交过程无效。实现运用中我们并不希望将错误信息展示在用户面前,于是我们加了On error resume next语句,如下:

<%
Dim conn,sqlstr,sqlstr2,sqlstr3
Set conn=server.createobject("ADODB.connection")
Conn.connectionstring="provider=microsoft.jet.oledb.4.0; data source=" & server.mappath("db1.mdb")
Conn.open
sqlstr="insert into test(name) values('aaa')"
sqlstr2="insert into test(name2) values('bbb')"
sqlstr3="insert into test(name) values('ccc')"
On error resume next
Conn.BeginTrans
conn.execute(sqlstr)
conn.execute(sqlstr2)
conn.execute(sqlstr3)
If conn.Errors.Count =0 then
     Conn.CommitTrans
     Response.write ""
Else
     Conn.RollbackTrans
     Response.write ""
End if
On Error GoTo 0
Conn.close
Set conn=nothing
%>

这样出现的问题是只要最后一条SQL语句是正确的,那么conn.Errors.Count的值就必定为0,这样的结果是先前错误的SQL语句不会执行,正确的SQL语句会被正确执行,整个事务处理机制基本上等于失效,解决的办法是将conn.Errors.Count改为err.number,代码如下:

<%
Dim conn,sqlstr,sqlstr2,sqlstr3
Set conn=server.createobject("ADODB.connection")
Conn.connectionstring="provider=microsoft.jet.oledb.4.0; data source=" & server.mappath("db1.mdb")
Conn.open
sqlstr="insert into test(name) values('aaa')"
sqlstr2="insert into test(name2) values('bbb')"
sqlstr3="insert into test(name) values('ccc')"
On error resume next
Conn.BeginTrans
conn.execute(sqlstr)
conn.execute(sqlstr2)
conn.execute(sqlstr3)
If err.number = 0 then
     Conn.CommitTrans
     Response.write ""
Else
     Conn.RollbackTrans
     Response.write ""
End if
On Error GoTo 0
Conn.close
Set conn=nothing
%>

相关阅读
如何利用ASP清除所有的Application对象
深山行者V1.2旅行社网站管理系统
带时钟的台历:一个非常非常漂亮的台历
主流web2.0网站的配色参考方案
ASP导出WORD或Excel文档(比较另类,而且超级强的。)
青海众信国际旅行社有限公司
asp Microsoft.XMLHTTP生成静态页延迟解决方案
asp利文本文档加FSO统计网站访问量的方法
共有0条关于《ASP事务处理 for access》的评论
发表评论
正在加载评论......
返回顶部发表评论
呢 称:
表 情:
内 容:
评论内容:不能超过 1000 字,需审核,请自觉遵守互联网相关政策法规。
验证码: 验证码 
网友评论声明,请自觉遵守互联网相关政策法规。

您发布的评论即表示同意遵守以下条款:
一、不得利用本站危害国家安全、泄露国家秘密,不得侵犯国家、社会、集体和公民的合法权益;
二、不得发布国家法律、法规明令禁止的内容;互相尊重,对自己在本站的言论和行为负责;
三、本站对您所发布内容拥有处置权。

更多信息>>栏目类别选择
百度小程序开发
微信小程序开发
微信公众号开发
uni-app
asp函数库
ASP
DIV+CSS
HTML
python
更多>>同类信息
ASP中Utf-8与Gb2312编码转换乱码问题的解决方法页面编码声明
asp显示随机密码
通过阿里云服务接口获得ip地址详细信息
iis点开后任务栏上有显示,但是窗口看不到的解决办法
RSA加密解密插件
微软Encoder加密解密函数
更多>>最新添加文章
dw里面查找替换使用正则删除sqlserver里面的CONSTRAINT
Android移动端自动化测试:使用UIAutomatorViewer与Selenium定位元素
抖音直播音挂载小雪花 懂车帝小程序
javascript获取浏览器指纹可以用来做投票
火狐Mozilla Firefox出现:无法载入您的Firefox配置文件 它可能已经丢失 或是无法访问 问题解决集合处理办法
在Android、iOS、Windows、MacOS中微信小程序的文件存放路径
python通过代码修改pip下载源让下载库飞起
python里面requests.post返回的res.text还有其它的吗
更多>>随机抽取信息
专业地接服务的旅行社建站解决方案
Photoshop中精典实用技巧
两个ASP中防止SQL注入式攻击
贵豪旅行社
启用新版文章管理系统
禁止网站的静态模板被下载
主站蜘蛛池模板: 男人天堂国产 | 日韩成人在线影院 | 久久精品无码一区二区www | 国产成人精品视频一区二区不卡 | 成人毛片免费视频播放 | 国产精品免费久久久久软件 | 国产成熟妇女性视频电影 | 任你躁国产自任一区二区三区 | 综合一区自拍亚洲综合图区 | 欧美人妻久久精品 | 天天爽夜夜春 | 久久亚洲色www成人男男 | 狠狠色噜噜狠狠色综合久 | 妺妺窝人体色www聚色窝仙踪 | 亚洲精品电影久久久影院 | 午夜精品久久久 | 深夜福利1000 | 国产精品乱码在线观看 | 欧美色成人综合 | 中国女人a毛片免费全部播放 | 尤物在线观看精品国产福利片 | 欧美aa视频 | 精品欧美一区二区三区久久久 | 久久久久久久国产免费看 | 99久久无色码中文字幕人妻蜜柚 | 欧美丰满熟妇bbbbbb | 亚洲一区二区在线视频 | 爱久久网站 | 成人国产精品视频频 | 久久午夜夜伦鲁鲁片免费无码影视 | 国产又爽又黄又无遮挡的激情视频 | 国产一区二区三区四区在线观看 | 伊人成人在线 | 在线视频亚洲色图 | 日韩1级片 | 九九九久久久 | 影音先锋中文无码一区 | 少妇又色又爽又高潮 | 国产91热爆ts人妖在线 | 成年人黄视频大全 | 99热一区 |