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
:
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 批量保存的更多相关文章
- .NET DLL 保护措施应用实例(百度云批量保存工具)
最近做了个小工具,将保护措施思路全部应用到了此工具中. 点我下载 百度云批量保存工具是一款专门用于自动批量保存百度云分享的软件. 本软件特点:1:完全模拟人工操作:2:可以批量保存百度分享的文件( ...
- sqlbulkcopy 多表批量保存
/// <summary> /// 批量保存多表 /// </summary> /// <param name="dt1"></param ...
- 使用EntityManager批量保存数据
@PersistenceContext EntityManager em; 从别的系统中定期同步某张表的数据,由于数据量较大,采用批量保存 JPA EntityManager的四个主要方法 ① pub ...
- Howto: 在ArcGIS10中将地图文档(mxd文档)批量保存到之前版本
Howto: 在ArcGIS10中将地图文档(mxd文档)批量保存到之前版本 文章编号 : 38783 软件: ArcGIS - ArcEditor 10 ArcGIS - ArcInfo 10 A ...
- mybatis单笔批量保存
在上一篇写了接口调用解析返回的xml,并赋值到实体.这一篇主要介绍,如何保存实体数据. 一,xml样例 <?xml version="1.0" encoding=" ...
- Jquery Easy UI Datagrid 上下移动批量保存数据
DataGrid with 上下移动批量保存数据 通过前端变量保存修改数据集合,一次性提交后台执行 本想结合easyui 自带的$('#dg').datagrid('getChanges'); 方法来 ...
- mybatis批量保存的两种方式(高效插入)
知识点:mybatis中,批量保存的两种方式 1.使用mybatis foreach标签 2.mybatis ExecutorType.BATCH 参考博客:https://www.jb51.net/ ...
- springboot jpa 批量保存数据--EntityManager和 JpaRepository
1: 项目里面使用springboo-boot-start-data-jpa操作数据库,通过源码,在repository上继承JpaRepository 可以实现保存操作,其中源码接口为: <S ...
- easyui treegrid增、删、改及批量保存
treegrid添加新行和删除行的方法: 添加和删除直接调用这两个方法即可,修改的方法有点特殊,treegrid没有提供update方法,设置行为编辑状态,$('#obj_tgd_objectlist ...
随机推荐
- 20145202马超 2016-2017-2 《Java程序设计》第10周学习总结
学号 2016-2017-2 <Java程序设计>第X周学习总结 教材学习内容总结 一.网络编程 1.网络概述 网络编程就是在两个或两个以上的设备(例如计算机)之间传输数据.程序员所作的事 ...
- python中通过datetime获取UTC时间ISO格式
一个热点统计需求,需要限定一个时间范围,计算出该范围内的热点事件,相关数据则以UTC标准时间的ISO时间格式存在mongodb中,和服务器设置的时区UTC+8并不一致. 为了解决这个问题,直觉反应是在 ...
- 北京Uber优步司机奖励政策(3月11日)
滴快车单单2.5倍,注册地址:http://www.udache.com/ 如何注册Uber司机(全国版最新最详细注册流程)/月入2万/不用抢单:http://www.cnblogs.com/mfry ...
- 成都Uber优步司机奖励政策(3月30日)
滴快车单单2.5倍,注册地址:http://www.udache.com/ 如何注册Uber司机(全国版最新最详细注册流程)/月入2万/不用抢单:http://www.cnblogs.com/mfry ...
- Qt的4个图像类QImage/QPixmap/QBitmap/QPicture 转
Qt的4个图像类QImage/QPixmap/QBitmap/QPicture 转 (一)QPixmap和QImage的区别 http://www.thisisqt.com/forum/viewthr ...
- LeetCode:43. Multiply Strings (Medium)
1. 原题链接 https://leetcode.com/problems/multiply-strings/description/ 2. 题目要求 给定两个String类型的正整数num1.num ...
- LWM2M的DISCOVER操作
1. 先看下DISCOVER的数据流,工作服务器下发的指令到设备客户端 2. 解释,这个操作是用来发现Object, Object Instances, and Resources的属性,同时可以发现 ...
- Mysql 8.0.* zip版本 windows安装
一,MySQL8.0.*zip版本安装步骤. 1,下载 https://dev.mysql.com/get/Downloads/MySQL-8.0/mysql-8.0.15-winx64.zip 注现 ...
- uvaoj1585Score(暴力)
1585 ScoreThere is an objective test result such as “OOXXOXXOOO”. An ‘O’ means a correct answer of a ...
- 征战 OSG-序及目录
其实很早就应该写这个了,一直拖到现在就是因为懒啊. 自从七月演习回来,被划到三维平台开发部,就一直混日子,也没人带领,也没人问结果,就这么一直堕落下来了,直到有一天才发现自己也看不上自己了,觉得自己这 ...