注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

gb.qin

A Man's心靈的港灣

 
 
 

日志

 
 

Delphi主從表保存方法  

2010-12-29 10:09:49|  分类: Delphi |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |

●TADOConnection组件重要事件
OnBeginTransComplete 在执行BeginTrans方法完成时触发 
OnCommitTransComplete在执行CommitTrans方法完成后触发
OnConnectComplete 数据库连接成功之后触发
OnDisconnect 数据库断线之后触发
OnExecuteComplete 在执行ADO命令完成后触发
OnInfoMessage 当数据从数据库取得时触发
OnRollbackTransComplete在执行RollbackTrans方法完成时触发
OnWillConnect将要联机前触发
OnWillExecute将执行命令前触发
OnLogin登入时触发
OnBeforeConnect联机前触发
OnAfterConnect联机后触发
OnAfterDisconnect断线后触发
OnBeforeDisconnect断线前触发
□若连结数据库时依序触发事件的顺序如下
1.OnBeforeConnect
2.OnWillConnect
3.OnLogin
4.OnConnectComplete
5.OnInfoMessage
6.OnAfterConnect
□若数据库断线时依序触发事件的顺序如下
1.OnBeforeDisconnect
2.OnDisconnect
3.OnAfterDisconnect
●TADOConnection组件重要方法
Open() 开启连结,相当于Connected设为 true
Close() 关闭连结,相当于Connected设为false
GetProcedureNames() 取得数据库中所提供的 stored procedures 名称
ADOConnection1->GetProcedureNames(ListBox1->Items);
GetTableNames() 取得数据库中可使用的 Table名称
ADOConnection1->GetTableNames(ListBox2->Items, false);
Cancel取消一个尝试中的联机
Execute() 执行ADO命令,可选择执行的Command type与Execute Option
BeginTrans() transaction程序的开始
CommitTrans() 完成一段transaction更新信息并结束
RollbackTrans() 当执行一段transaction失败时回复执行前状况
三个一组的方法,为了让一连串的命令能够一起完成或一起失败,所以必须建立transaction区块,在这个区块中必须依序的完成命令,若其中一项发生错误则执行RollbackTrans恢复未执行前的状况,若成功执行则呼叫CommitTrans完整的更新信息,这种方式对有相互影响的一组指令,有确保指令执行正确的保障使用范例

//Date 為TDate Module

   with Data do
    begin
      if stClosed in Data_con.State then
        Data_con.Open;
      Data_con.BeginTrans;----------------------開始一個事務

      try
        if not VarIsNull(M_Delta) then
        begin
          dspInPutM.ApplyUpdates(M_Delta,0,ErrCount);
          if ErrCount>0 then
          begin
            application.MessageBox('表頭部份內容有疑常!','系統提示',48);
            SysUtils.abort;
          end;
        end;

        if not VarIsNull(D_Delta) then
        begin
          dspInPutD.ApplyUpdates(D_Delta,0,ErrCount);
          if ErrCount>0 then
          begin
            application.MessageBox('網格部份內容有疑常!','系統提示',48);
            SysUtils.abort;
          end;
        end;
        Data_con.CommitTrans;----------------------------如果沒有錯誤提交事務
      except
        Data_con.RollbackTrans;-------------------------出錯則回復前狀態
      end;
    end

  评论这张
 
阅读(1038)| 评论(0)
推荐 转载

历史上的今天

在LOFTER的更多文章

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2017