99亚洲_成人性视频免费网站_av在线播放网址_免费成人在线网站_亚洲综合婷婷_亚洲一区二区国产

訂閱本欄目 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
%>

相關閱讀
自由鳥
asp用cDec將二進制轉十進制然后再用cBit將十進制轉二進制
Dreamweaver錯誤:以下翻譯器沒有被裝載,由于錯誤;xsltransform.htm;有不正確的設置信息
啟動旅行社管理系統3.0的開發服務
Dreamweaver在onLoad運行_onOpen.htm時,發生了以下javascript錯誤
連云港門窗制作
DW設置之后更好用 DreamweaverCS編輯GB2312與UTF-8文件在代碼視圖中點擊鼠標錯位問題的解決辦法
DIV+CSS之自動換行
共有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還有其它的嗎
更多>>隨機抽取信息
網站需要SEO,基本的SEO建站要點
解決國內 github.com 打不開的準確方法
連云港酒店預訂
div中的圖片鏈接居中的問題
asp 當日訪問量,全部訪問量,當前在線人數統計
css翻頁代碼
主站蜘蛛池模板: 天天躁日日躁狠狠躁 | 欧美成人二区 | 亚洲 精品 综合 精品 自拍 | 日日干夜夜操 | 国产一区免费 | 午夜男人视频 | 亚洲精品视频网 | 欧美久久综合 | 欧美透逼视频 | 亚洲精品com | 免费黄色在线 | 久久免费电影 | 国产精品久久久久久久9999 | 欧美国产日韩在线 | 亚洲欧美一级久久精品国产特黄 | 噜噜噜噜狠狠狠7777视频 | 91九色视频国产 | 色婷婷综合久久久中字幕精品久久 | 亚洲视频在线观看网址 | 亚洲激情在线观看 | 亚洲一区二区高清 | 亚洲一区视频网站 | 亚洲人体视频 | 成人精品福利视频 | 人人干人人草 | 日韩在线观看中文字幕 | 国产中文字幕在线免费观看 | 日本三级视频在线观看 | 成人在线看片 | 日韩精品一区二区三区四区 | 欧美影视一区二区三区 | 依人在线 | 日日干夜夜操 | 欧美一区二区三区黄 | 久久a国产 | 免费观看一级特黄欧美大片 | 福利片在线免费观看 | 日韩在线成人 | 国产精品久久久久免费a∨ 欧美黄色精品 | 亚洲欧美视频网站 | 日韩第一区 |