伦理片hd-伦理片 在线播放-伦理片 在线-伦理免费在线观看-综合图片区-综合婷婷

訂閱本欄目 RSS您所在的位置: 深山工作室 > ASP > 正文

ASP事務處理 for access

網絡 2009/5/6 20:57:19 深山行者 字體: 瀏覽 9958

所謂事務處理,簡單地說,就是所有的數據庫操作都可以看做事務處理。當開始一個事務處理后,就打開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獲得當前文件的虛擬物理路徑
JS獲取網頁中HTML元素的幾種方法
DW設置之后更好用 DreamweaverCS編輯GB2312與UTF-8文件在代碼視圖中點擊鼠標錯位問題的解決辦法
火狐Mozilla Firefox出現:無法載入您的Firefox配置文件 它可能已經丟失 或是無法訪問 問題解決集合處理辦法
jquery實現下拉加載更多
超級實用且不花哨的js代碼大全( 4 )
CSS分頁符代碼01
青島景色旅程
共有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還有其它的嗎
更多>>隨機抽取信息
深山旅行社管理系統開源嗎?
IE中奇怪的左右border斷線現象
購物網上圖片放大效果
深山網吧留言板(激情穿越火線)v4.3
ASP過濾SQL中的非法字符并格式化相關的html代碼
windows xp 安裝IIS,設置IIS。
主站蜘蛛池模板: 欧美日韩视频综合一区无弹窗 | 在线观看不卡一区 | 欧美日韩一区二区三区在线视频 | 欧美综合自拍亚洲综合图片区 | 成人国产精品一级毛片了 | 手机在线观看黄色 | 欧美激情亚洲精品日韩1区2区 | 欧美国产成人一区二区三区 | 亚洲欧美二区三区久本道 | 久久综合综合 | 午夜激情婷婷 | 午夜噜噜噜私人影院在线播放 | 日本三级一区二区 | 精品国产三级a在线观看 | 99在线观看视频免费精品9 | 国产日韩片| 自拍偷拍视频网 | 两个人高清在线观看www韩剧 | 欧美日韩高清一区 | 手机看片午夜 | 性战美乳洋妞 | 五月天婷婷视频在线观看 | 欧美高清视频 | 日本特黄一级 | 98香蕉草草视频在线精品看 | 晚上看的www视频高清免费动漫 | 欧美视频成人 | 狠狠色丁香婷婷综合激情 | 国产欧美综合精品一区二区 | 两个人在线播放 | 天天视频入口 | 亚洲手机视频 | 99精品国产成人一区二区在线 | 免费看特级毛片 | 日本欧美一区二区三区 | 国产69精品久久久久99 | 国产精品网红女主播久久久 | 亚洲精品亚洲人成毛片不卡 | 青青草99 | 看一级特黄a大一片 | 日韩在线h |