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

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

ASP事務處理 for access

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

所謂事務處理,簡單地說,就是所有的數據庫操作都可以看做事務處理。當開始一個事務處理后,就打開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
%>

相關閱讀
華東賓館
深山工作室
利用css3.0寫出一個音樂播放的唱片碟盤的效果
一個CSS特效生成器下載
振輝自清洗過濾器
蒸汽消音器
酒店客房預訂商建站解決方案
uni-app微信小程序獲得用戶頭像與名稱
共有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還有其它的嗎
更多>>隨機抽取信息
asp利用FSO檢測服務器空間文件夾大小
JS壓縮
商務會議系統
利用JAVAscript實現表格漸變
旅行社網站管理系統商業版4.0發布
jquery動態生成的html代碼中無法使用jquery事件的解決方法
主站蜘蛛池模板: 国产成人永久免费视 | av短片| 四虎影院最新网址 | 久久久噜噜噜 | 九九久久精品国产免费看小说 | 91国语精品3p在线观看 | 天天爽夜夜爽一区二区三区 | 草草久久97超级碰碰碰免费 | 操操干 | 新国产视频 | 日本欧美另类 | a毛片免费 | 国产日韩欧美一区二区三区视频 | 成 人 黄 色 视频165 | 国产精品porn | 男女羞羞视频网站免费 | 日本黄色免费网站 | 国产精品va在线观看一 | 亚洲爱爱天堂 | 日日夜夜中文字幕 | 久久久国产成人精品 | 欧美高清观看免费全部完 | 一级毛片免费观看久 | 麻豆观看 | 成人午夜国产福到在线不卡 | 亚洲天天更新 | 国产香蕉75在线播放 | 欧美精品国产一区二区 | 国产欧美精品一区二区色综合 | 国产一区国产二区国产三区 | 第一福利在线观看永久视频 | 精品日本亚洲一区二区三区 | 国产小视频在线看 | 成人精品第一区二区三区 | eeuss免费快捷 | 国产精品1024免费看 | 成人亚洲天堂 | 裙子下的野兽在线观看 | 97在线成人免费视频观看 | 亚洲区欧美中文字幕久久 | 日韩一区二区三区不卡 |