<thead id="jxdzp"><address id="jxdzp"><pre id="jxdzp"></pre></address></thead>

<em id="jxdzp"><span id="jxdzp"></span></em>

    <listing id="jxdzp"><nobr id="jxdzp"><meter id="jxdzp"></meter></nobr></listing>

      <address id="jxdzp"></address>
      <noframes id="jxdzp"><form id="jxdzp"><th id="jxdzp"></th></form>
      <noframes id="jxdzp"><form id="jxdzp"><th id="jxdzp"></th></form>

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

          ASP事務處理 for access

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

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

          相關閱讀
          利用CSS實現半透明效果兼容IE與火狐與chrome等瀏覽器
          旅行社網站模板9
          給個photoshopcs下載地址,大家可能用到
          div中設置文字垂直居中
          純div+css制作的彈出菜單-01
          頁面javascript倒計時跳轉
          ASP FSO的一些方法與擁有的屬性
          深山旅行社網站管理系統5.0發布
          共有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之自動閉合HTML標簽函數
          北京陽光無限貿易有限公司
          如何利用ASP清除所有的Application對象
          留言板留言板V7.2
          88国产精品视频一区二区三区