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
:
begin
dm.qryzcdbadd.Open;
dm.qryzcdbadd.Append;
dm.qryzcdbadd.FieldByName( '调拨日期 ').AsDateTime :=Now;
dm.qryzcdbadd.FieldByName( '登记人员 ').AsString := GuserName;
end;
:
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= then
begin
frmSelectzc:= TfrmSelectzc.Create(nil);
frmSelectzc.Tag:=;
frmSelectzc.Show;
end;
end; procedure TfrmzcdbAdd.dbgrdh1KeyPress(Sender: TObject; var Key: Char);
begin
if key=# then{ 判断是按执行键}
if dbgrdh1.Col+ <(dbgrdh1.Columns.Count) then
dbgrdh1.Col:=dbgrdh1.col+{ 移动到下一字段}
else
dbgrdh1.Col:=;
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.

delphi dbgrid 批量保存的更多相关文章

  1. .NET DLL 保护措施应用实例(百度云批量保存工具)

    最近做了个小工具,将保护措施思路全部应用到了此工具中. 点我下载   百度云批量保存工具是一款专门用于自动批量保存百度云分享的软件. 本软件特点:1:完全模拟人工操作:2:可以批量保存百度分享的文件( ...

  2. sqlbulkcopy 多表批量保存

    /// <summary> /// 批量保存多表 /// </summary> /// <param name="dt1"></param ...

  3. 使用EntityManager批量保存数据

    @PersistenceContext EntityManager em; 从别的系统中定期同步某张表的数据,由于数据量较大,采用批量保存 JPA EntityManager的四个主要方法 ① pub ...

  4. Howto: 在ArcGIS10中将地图文档(mxd文档)批量保存到之前版本

     Howto: 在ArcGIS10中将地图文档(mxd文档)批量保存到之前版本 文章编号 : 38783 软件: ArcGIS - ArcEditor 10 ArcGIS - ArcInfo 10 A ...

  5. mybatis单笔批量保存

    在上一篇写了接口调用解析返回的xml,并赋值到实体.这一篇主要介绍,如何保存实体数据. 一,xml样例 <?xml version="1.0" encoding=" ...

  6. Jquery Easy UI Datagrid 上下移动批量保存数据

    DataGrid with 上下移动批量保存数据 通过前端变量保存修改数据集合,一次性提交后台执行 本想结合easyui 自带的$('#dg').datagrid('getChanges'); 方法来 ...

  7. mybatis批量保存的两种方式(高效插入)

    知识点:mybatis中,批量保存的两种方式 1.使用mybatis foreach标签 2.mybatis ExecutorType.BATCH 参考博客:https://www.jb51.net/ ...

  8. springboot jpa 批量保存数据--EntityManager和 JpaRepository

    1: 项目里面使用springboo-boot-start-data-jpa操作数据库,通过源码,在repository上继承JpaRepository 可以实现保存操作,其中源码接口为: <S ...

  9. easyui treegrid增、删、改及批量保存

    treegrid添加新行和删除行的方法: 添加和删除直接调用这两个方法即可,修改的方法有点特殊,treegrid没有提供update方法,设置行为编辑状态,$('#obj_tgd_objectlist ...

随机推荐

  1. Lucene第一讲——概述与入门

    一.概述 1.什么是Lucene? Lucene是apache下的一个开源的全文检索引擎工具包. 它为软件开发人员提供一个简单易用的工具包(类库),以方便的在目标系统中实现全文检索的功能. 2.能干什 ...

  2. 环境变量Path简介

    更多详细专业的详解,请参见:http://www.cnblogs.com/sunada2005/articles/2725277.html 什么是Path变量: PATH环境变量.作用是指定命令搜索路 ...

  3. Spring框架之Filter应用

    在web.xml中进行配置,对所有的URL请求进行过滤,就像"击鼓传花"一样,链式处理. 配置分为两种A和B. 在web.xml中增加如下内容: <filter> &l ...

  4. Linux命令应用大词典-第10章 Shell相关命令

    10.1 commond:抑制正常的Shell函数查找 10.2 exec:使用执行命令替换当前的shell进程 10.3 bash:GNU的Bourne-Again Shell解释器 10.4 bu ...

  5. js 加密 crypto-js des加密

    js 加密 crypto-js    https://www.npmjs.com/package/crypto-js   DES  举例:   js 引入:   <script src=&quo ...

  6. 51单片机实现定时器00H-FFH、定时器000-255

    #include< reg51.h> #define uint unsigned int #define uchar unsigned char sfr P0M0 = 0x94; sfr ...

  7. Vuejs 基础与语法

    Vue 实例 创建第一个实例 {{}} 被称之为插值表达式.可以用来进行文本插值. <!DOCTYPE html> <html lang="en"> < ...

  8. An Adaptive Color-Based Particle Filter--粒子滤波

    粒子滤波跟踪的具体步骤如下: 1. Resampling the particles to avoid degeneracy 2. Propagate  each particles accordin ...

  9. Centos配置深度学习开发环境

    目录 1. 安装显卡驱动 2. 安装CUDA\CUDNN 3. 安装TensorFlow-gpu 测试 1. 安装显卡驱动 检测显卡驱动及型号 $ sudo rpm --import https:// ...

  10. ThinkPHP - 4 - 学习笔记(2015.4.12)

    ThinkPHP D方法 D方法用于实例化自定义模型类,是ThinkPHP框架对Model类实例化的一种封装,并实现了单例模式,支持跨项目和分组调用,调用格式如下:D('[项目://][分组/]模型' ...