天天射射天天_久久com_99这里只有精品视频_爱色av_国产在线a_99日韩

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

ASP事務處理 for access

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

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

相關閱讀
國內網站常用的一些 CDN 靜態資源公共庫加速服務
javascript 根據漢字拼音首字母快速定位下拉列表
CSS選擇符詳解
諸城現代旅行社有限公司
吉林省文化國際旅行社有限公司
另一個省市二級關聯select下拉菜單代碼
asp 當日訪問量,全部訪問量,當前在線人數統計
總結一下with open()和open()的區別與使用方法
共有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還有其它的嗎
更多>>隨機抽取信息
你們這個系統太專業,很復雜?
javascript取漢字拼音首字母縮寫程序
放大的分頁代碼
一些平時用到HTML的過濾
深山行者留言系統V2.0 (簡稱留言板V2.0)
CSS制作網頁中的一些經驗總結
主站蜘蛛池模板: 欧美日韩在线亚洲国产人 | 一区二区三区亚洲 | 另类亚洲色图 | 国产欧美在线视频免费 | 亚洲欧美国产高清va在线播放 | 最新色视频 | 久久er99| 日韩午夜电影 | 亚洲精品不卡久久久久久 | 91频道| 成人欧美一区二区三区 | 欧美日韩国产一区二区三区在线观看 | 亚洲图片欧美在线 | 日韩国产在线播放 | 国产激情一区二区三区在线观看 | 欧美综合一区 | 久久久久久亚洲精品不卡 | 欧美精品一区二区三区在线播放 | 日韩一级精品视频在线观看 | 美日韩在线视频 | 欧美精品一区二区三区在线播放 | 国产女人成人精品视频 | 欧美高清在线精品一区二区不卡 | 欧美一级全黄 | 日韩欧美极品 | 日韩欧美一区在线观看 | 亚洲综合二区 | 性色a v 一区 | 国产在线精品观看一区 | 黄色a免费| 亚洲三级在线 | 免费一区 | 成人在线一区二区三区 | 亚洲欧美日韩在线播放 | 久久久青青久久国产精品 | 91在线视频一区 | 国产第一页在线播放 | 免费观看性欧美大片 | 护士精品一区二区三区 | 国产日韩一区二区三区在线播放 | 国产免费精彩视频 |