想在TDBGrid中输入一组数据,然后点击一个“保存”按钮,将这一组数据保存在数据库的表中,请问怎么处理????
解决方案 »
- 急,如何读取网址返回的数据
- delphi图片的放大后剪切问题
- 求助:要读入c:\abc.txt的内容到TStringGrid1的各个单元格内,代码怎样写?
- 如何判断鼠标焦点是否在指定窗体上,如果不在指定窗体上则指定窗体关闭?(在线)
- 用adoquery.savetofile生成了一个xml文件
- 谁帮我写一个SQL查询语句
- 关于多线程写屏的问题
- 这段时间要用 delphi写一个ActiveX ,其中用到XML交互,所以写了一个TXmlHelper类,和大家共享,并希望大家提出修改意见
- 怎么用DBChart在一个图上显示多条线?在线等待!
- 串口通信接收数据的奇怪问题
- DELPHI C/S 三层 for Help!
- Delphi6中DBGrid中怎么得到选定项的行数??
applyupdates
commitupdates 吧,具体查查资料
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;implementationuses 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.