📄 card.pas
字号:
unit card;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, Buttons, Grids, DBGrids, DB, ADODB, DBTables;
type
TCardForm = class(TForm)
DBGrid1: TDBGrid;
GroupBox1: TGroupBox;
Label1: TLabel;
Edit1: TEdit;
Label2: TLabel;
Edit2: TEdit;
Label3: TLabel;
Edit3: TEdit;
Label4: TLabel;
Edit4: TEdit;
Label5: TLabel;
Edit5: TEdit;
BitBtn1: TBitBtn;
BitBtn2: TBitBtn;
BitBtn3: TBitBtn;
BitBtn4: TBitBtn;
DataSource1: TDataSource;
Query1: TQuery;
procedure FormActivate(Sender: TObject);
procedure BitBtn2Click(Sender: TObject);
procedure BitBtn1Click(Sender: TObject);
procedure BitBtn3Click(Sender: TObject);
procedure BitBtn4Click(Sender: TObject);
procedure Query1AfterScroll(DataSet: TDataSet);
private
{ Private declarations }
public
{ Public declarations }
procedure LoadFromTable;
procedure SaveToTable;
end;
var
CardForm: TCardForm;
implementation
uses main;
{$R *.dfm}
procedure TCardForm.FormActivate(Sender: TObject);
begin
edit1.Text:='';
edit2.Text:='';
edit3.Text:='';
edit4.Text:='';
edit5.Text:='';
dbgrid1.DataSource:=datasource1;
datasource1.DataSet:=query1;
query1.sql.clear;
query1.sql.Add('select * from card');
query1.Open;
dbgrid1.ReadOnly:=true;
if query1.Eof then
begin
edit1.Enabled:=false;
edit2.Enabled:=false;
edit3.Enabled:=false;
edit4.Enabled:=false;
edit5.Enabled:=false;
bitbtn2.SetFocus;
end
else
begin
loadfromtable;
edit2.SetFocus;
end;
end;
procedure TCardForm.LoadFromTable;
begin
Edit1.Text:=IntTostr(query1.fieldbyname('id').asinteger);
edit2.text:=query1.fieldbyname('cardname').asstring;
edit3.text:=query1.fieldbyname('cardbank').asstring;
edit4.text:=query1.fieldbyname('money').asstring;
edit5.text:=query1.fieldbyname('note').asstring;
end;
//插入新信息
procedure TCardForm.BitBtn2Click(Sender: TObject);
begin
edit2.enabled:=true;
edit2.text:='';
edit3.enabled:=true;
edit3.text:='';
edit4.enabled:=true;
edit4.text:='';
edit5.enabled:=true;
edit5.text:='';
edit2.SetFocus;
edit1.text:=inttostr(query1.RecordCount+1);
end;
//保存信息
procedure TCardForm.BitBtn1Click(Sender: TObject);
begin
savetotable;
end;
procedure TCardForm.SaveToTable;
begin
query1.RequestLive:=true;
if strtoint(edit1.Text)>query1.RecordCount then
begin
query1.SQL.clear;
query1.sql.Add('insert into card values(:id,:cardname,:cardbank,:money,:note,:operator,:oper_date)');
end
else
begin
query1.sql.clear;
query1.sql.Add('update card set cardname=:cardname,cardbank=:cardbank,money=:money,');
query1.sql.add('note=:note,operator=:operator,oper_date=:oper_date where id=:id');
end;
query1.ParamByName('id').asinteger:=StrToInt(edit1.text);
query1.ParamByName('cardname').asstring:=edit2.text;
query1.paramByName('cardbank').asstring:=edit3.text;
query1.paramByName('money').asstring:=edit4.text;
query1.paramByName('note').asstring:=edit5.text;
query1.paramByName('operator').asstring:=username;
query1.paramByName('oper_date').asDateTime:=date();
query1.ExecSQL;
query1.SQL.Clear;
query1.SQL.add('select * from card');
query1.open;
end;
//删除当前记录
procedure TCardForm.BitBtn3Click(Sender: TObject);
begin
query1.RequestLive:=true;
query1.SQL.clear;
query1.SQL.add('delete from card where id=:id');
query1.ParamByName('id').asinteger:=StrToInt(edit1.text);
query1.ExecSQL;
query1.SQL.Clear;
query1.SQL.add('select * from card');
query1.open;
query1.First;
while not query1.Eof do
begin
query1.edit;
query1.FieldByName('id').asinteger:=query1.RecNo;
query1.post;
query1.next;
end;
if query1.Eof then
begin
edit1.Text:='';
edit2.Text:='';
edit2.Enabled:=false;
edit3.Text:='';
edit3.Enabled:=false;
edit4.Text:='';
edit4.Enabled:=false;
edit5.Text:='';
edit5.Enabled:=false;
bitbtn2.SetFocus;
end
else
begin
LoadFromTable;
edit1.SetFocus;
end;
end;
//退出系统
procedure TCardForm.BitBtn4Click(Sender: TObject);
begin
query1.close;
close;
end;
//数据表指针移动时,刷新界面信息
procedure TCardForm.Query1AfterScroll(DataSet: TDataSet);
begin
LoadFromTable;
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -