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 ...
随机推荐
- [原创]用python检测LVS real server状态实现HTTP高可用
import httplib import os import time def check_http(i): try: conn=httplib.HTTPConnection(i, 80, time ...
- MySQL入门第二天——记录操作与连接查询
常见SQL语法,请参见w3school:http://www.w3school.com.cn/sql/sql_distinct.asp 易百教程:http://www.yiibai.com/sql/f ...
- 【POJ2482】Stars in Your Window
[POJ2482]Stars in Your Window 题面 vjudge 题解 第一眼还真没发现这题居然™是个扫描线 令点的坐标为\((x,y)\)权值为\(c\),则 若这个点能对结果有\(c ...
- 「日常训练」湫湫系列故事——设计风景线(HDU-4514)
题意与分析 中文题目,木得题意的讲解谢谢. 然后还是分解成两个任务:a)判环,b)找最长边. 对于这样一个无向图,强行转换成负权然后bellman-ford算法求最短是难以实现的,所以感谢没有环--我 ...
- APP上下左右滑动屏幕的处理
#获得机器屏幕大小x,y driver = self.driver def getSize(): x = driver.get_window_size()['width'] y = driver.ge ...
- Maxscript-获取选中文件
Maxscript - 获取选中文件 使用 .Net 的方法弹出窗口选择文件,并范围所有选中文件的路径“” Fn Fun_GetFilePaths strTitle strFilter = ( dia ...
- a链接传参的方法
//获取分案编号 var hrefVal=window.location.href.split("?")[1]; //得到id=楼主 //console.log(hrefVal+& ...
- 100. Remove Duplicates from Sorted Array && 101. Remove Duplicates from Sorted Array II [easy]
这两题类似,所以放在一起,先看第一题: Description Given a sorted array, remove the duplicates in place such that each ...
- jQuery用unbind方法去掉hover事件及其他方法介绍
近日项目开发十分的繁忙,其中一个需求是实现响应式导航.(响应式的问题我们在css相关的博客中再交流) 大家都知道导航是需要下来菜单效果的,必然就会用到 jQuery的 hover() 方法.若是导航放 ...
- ArrayList与LinkedList的普通for循环遍历
对于大部分Java程序员朋友们来说,可能平时使用得最多的List就是ArrayList,对于ArrayList的遍历,一般用如下写法: public static void main(String[] ...