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翻頁代碼
电话
客服
扫码
主站蜘蛛池模板: 黄色免费电影网站 | 视频一区 中文字幕 | 视频一区中文字幕 | 美女视频一区二区三区 | 成人aaa视频 | 亚洲一区在线免费观看 | 久久久久一区 | 狠狠爱天天操 | 99精品国产一区二区三区 | 成人午夜视频在线观看 | 国产免费拔擦拔擦8x高清在线人 | 一区二区三区动漫 | 亚洲精品一区二区三区在线 | 国产日韩精品视频 | 国产精品成人在线观看 | 在线视频中文字幕 | 日韩高清一区 | 综合伊人 | 亚洲国产人午在线一二区 | 久草新在线 | 久久久青草婷婷精品综合日韩 | 欧美一区二区三区在线视频观看 | 久久99精品一区二区三区 | 中文字幕av一区二区三区 | 日韩欧美久久 | 久久久久久九九九 | 91精品久久久久久 | 国产人成在线观看 | 日韩a∨ | 久久国产亚洲精品 | 91精品国产乱码久久久久久 | 国产999精品久久久久久 | 成人免费一区二区三区视频网站 | 欧美精品综合 | 999精品视频 | 黄色av免费在线播放 | 毛片在线视频 | 欧美日韩在线电影 | 福利一区二区 | 日韩欧美精品在线 | 亚洲欧美一区二区三区情侣bbw |