zoukankan      html  css  js  c++  java
  • delphi dbgrid 批量保存

    unit   uzcdbadd;
    interface
    uses
       Windows,   Messages,   SysUtils,   Variants,   Classes,   Graphics,   Controls,   Forms,  Dialogs,   Menus,   DB,   StdCtrls,   Buttons,   GridsEh,   DBGridEh,   ComCtrls,   ExtCtrls;
    type
       TfrmzcdbAdd   =   class(TForm)
           lbl1:   TLabel;
           pnl1:   TPanel;
           lbl2:   TLabel;
           dtp1:   TDateTimePicker;
           dbgrdh1:   TDBGridEh;
           btnOK:   TBitBtn;
           btnclose:   TBitBtn;
           ds1:   TDataSource;
           pm1:   TPopupMenu;
           mniadd:   TMenuItem;
           mniN1:   TMenuItem;
           procedure   btncloseClick(Sender:   TObject);
           procedure   FormCreate(Sender:   TObject);
           procedure   btnOKClick(Sender:   TObject);
           procedure   dbgrdh1EditButtonClick(Sender:   TObject);
           procedure   dbgrdh1KeyPress(Sender:   TObject;   var   Key:   Char);
           procedure   mniaddClick(Sender:   TObject);
           procedure   mniN1Click(Sender:   TObject);
           procedure   FormClose(Sender:   TObject;   var   Action:   TCloseAction);
       private
           {   Private   declarations   }
       public
           {   Public   declarations   }
       end;
    var
       frmzcdbAdd:   TfrmzcdbAdd;
       Edittag:Integer;
    implementation
    uses   datamoule,   uselectzc,   frmMain;
    {$R   *.dfm}
     
    procedure   TfrmzcdbAdd.btncloseClick(Sender:   TObject); //关闭时事务回滚
    begin
       dm.qryzcdbadd.Close;
       DM.congdzc.RollbackTrans;
       close;
    end;
     
    procedure   TfrmzcdbAdd.FormCreate(Sender:   TObject); //窗口生成时
    begin
       if   DM.qryzcdbadd   .Active   then   dm.qryzcdbadd.Close;
       if   DM.congdzc.InTransaction   then   dm.congdzc.RollbackTrans;
       dm.qryzcdbadd.LockType   :=     ltBatchOptimistic;{批量乐观锁定}
       DM.congdzc.BeginTrans;   {开启事务}
       case   Edittag   of
       0:
           begin
               dm.qryzcdbadd.Open;
               dm.qryzcdbadd.Append;
               dm.qryzcdbadd.FieldByName( '调拨日期 ').AsDateTime   :=Now;
               dm.qryzcdbadd.FieldByName( '登记人员 ').AsString   :=   GuserName;
           end;
         1:
             begin
                 dm.qryzcdbadd.SQL.Clear;
                 dm.qryzcdbadd.SQL.Add( 'select   *   from   [调拨]   where   ID= '+inttostr(dm.qryzcdb.fieldbyname( 'ID ').asinteger));
                 DM.qryzcdbadd.open;
                 DM.qryzcdbadd.First;
                 DM.qryzcdbadd.Edit;
     
             end;
       end;
    end;
     
     
    procedure   TfrmzcdbAdd.btnOKClick(Sender:   TObject); //单击保存
    begin
         dm.qryzcdbadd.UpdateBatch();       {批量保存}
         dm.congdzc.CommitTrans;                   {提交事务}
         close;
    end;
     
     
    procedure   TfrmzcdbAdd.dbgrdh1EditButtonClick(Sender: TObject);
    begin
       if   dbgrdh1.Col=1   then
       begin
           frmSelectzc:= TfrmSelectzc.Create(nil);
           frmSelectzc.Tag:=2;
           frmSelectzc.Show;
       end;
    end;
     
     
    procedure   TfrmzcdbAdd.dbgrdh1KeyPress(Sender:   TObject;   var   Key:   Char);
    begin
     if   key=#13   then{   判断是按执行键}
           if     dbgrdh1.Col+1 <(dbgrdh1.Columns.Count)   then
                   dbgrdh1.Col:=dbgrdh1.col+1{   移动到下一字段}
           else
                   dbgrdh1.Col:=1;
    end;
     
    procedure   TfrmzcdbAdd.mniaddClick(Sender:   TObject); //添加按钮
    begin
       DM.qryzcdbadd.Append;
       dm.qryzcdbadd.FieldByName( '调拨日期 ').AsDateTime   :=Now;
       dm.qryzcdbadd.FieldByName( '登记人员 ').AsString   :=   GuserName;
    end;
     
     
    procedure   TfrmzcdbAdd.mniN1Click(Sender:   TObject); //删除
    begin
       DM.qryzcdbadd.Delete;
    end;
     
    procedure   TfrmzcdbAdd.FormClose(Sender:   TObject;   var   Action:   TCloseAction);
    begin
       DM.qryzcdb.Refresh;
       Release;
    end;
     
    end.
  • 相关阅读:
    JS和jQuery获取节点的兄弟,父级,子级元素
    HTTP协议详解
    HTML5自定义属性对象Dataset
    当你输入一个网址后都发生什么
    javascript实现ajax
    第一次项目总结
    CSS简单布局总结
    animate.css总结
    自定义动画
    CSS 第四天 多重背景 变形 过渡
  • 原文地址:https://www.cnblogs.com/jijm123/p/10230039.html
Copyright © 2011-2022 走看看