📄 main.pas
字号:
unit Main;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, Grids, DBGrids, StdCtrls, DB, DBTables, Buttons;
type
TForm1 = class(TForm)
DataSource1: TDataSource;
GroupBox1: TGroupBox;
Button1: TButton;
Button2: TButton;
Button3: TButton;
Button4: TButton;
Button5: TButton;
DBGrid1: TDBGrid;
BitBtn1: TBitBtn;
Edit1: TEdit;
Label1: TLabel;
Label2: TLabel;
Edit2: TEdit;
Label3: TLabel;
Edit3: TEdit;
Label4: TLabel;
Edit4: TEdit;
Label5: TLabel;
Label6: TLabel;
Edit5: TEdit;
Label7: TLabel;
Edit6: TEdit;
Label8: TLabel;
Edit7: TEdit;
CheckBox1: TCheckBox;
Button6: TButton;
Query1: TQuery;
Table1: TTable;
procedure FormCreate(Sender: TObject);
procedure Button1Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
procedure Button3Click(Sender: TObject);
procedure Button4Click(Sender: TObject);
procedure DBGrid1CellClick(Column: TColumn);
procedure Button5Click(Sender: TObject);
procedure BitBtn1Click(Sender: TObject);
procedure Button6Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
IsIns:Boolean; //该变量用来标识是是增加记录还是修改记录
procedure DispValue();
procedure DEinsert();
procedure DEOk();
Procedure ROnly();
Procedure RW();
implementation
uses cx;
{$R *.dfm}
procedure DispValue(); //把当前记录的值显示在相应的组件中
begin
Form1.Edit1.text:=Form1.Table1.fieldbyname('编号').AsString ;
Form1.Edit2.text:=Form1.Table1.fieldbyname('姓名').AsString ;
Form1.Edit3.text:=Form1.Table1.fieldbyname('性别').AsString ;
Form1.Edit4.text:=Form1.Table1.fieldbyname('职称').AsString ;
Form1.Edit5.text:=Form1.Table1.fieldbyname('工作日期').AsString ;
Form1.Edit6.text:=Form1.Table1.fieldbyname('工资').AsString ;
Form1.Edit7.text:=Form1.Table1.fieldbyname('奖金').AsString ;
Form1.CheckBox1.Checked :=Form1.Table1.fieldbyname('婚否').AsBoolean ;
end;
procedure DEinsert(); //设置插入和修改状态时的各按钮是否可用
begin
Form1.Button1.Enabled :=False;
Form1.Button2.Enabled :=False;
Form1.Button3.Enabled :=True;
Form1.Button4.Enabled :=True;
Form1.Button5.Enabled :=False;
Form1.Button6.Enabled :=False;
end;
procedure DEOK(); //设置非插入和修改状态时的各按钮是否可用
begin
Form1.Button1.Enabled :=True;
Form1.Button2.Enabled :=True;
Form1.Button3.Enabled :=False;
Form1.Button4.Enabled :=False;
Form1.Button5.Enabled :=True;
Form1.Button6.Enabled :=True;
end;
Procedure clsvalue(); //清除界面上各控件的值
begin
Form1.edit1.Text :='';
Form1.edit2.Text :='';
Form1.edit3.Text :='';
Form1.edit4.Text :='';
Form1.edit5.Text :='';
Form1.edit6.Text :='';
Form1.edit7.Text :='';
Form1.CheckBox1.Checked :=False;
end;
Procedure ROnly(); //使界面上各控件只能读,即非插入和修改时
begin
Form1.Edit1.readonly:=true;
Form1.Edit2.readonly:=true;
Form1.Edit3.readonly:=true;
Form1.Edit4.readonly:=true;
Form1.Edit5.readonly:=true;
Form1.Edit6.readonly:=true;
Form1.Edit7.readonly:=true;
Form1.CheckBox1.Enabled :=False;
end;
Procedure RW(); //使界面上各控件可读可写,即在修改或插入状态
begin
Form1.Edit1.readonly:=False;
Form1.Edit2.readonly:=False;
Form1.Edit3.readonly:=False;
Form1.Edit4.readonly:=False;
Form1.Edit5.readonly:=False;
Form1.Edit6.readonly:=False;
Form1.Edit7.readonly:=False;
Form1.CheckBox1.Enabled :=True;
end;
procedure TForm1.FormCreate(Sender: TObject);
Var
curdir:string;
begin
getdir(0,Curdir); //得到当前目录
query1.DatabaseName :=curdir ; //设置数据库名
Table1.DatabaseName :=CurDir; //设置数据库名
Ronly;
DEOK;
table1.Open ; //打开表
dispvalue; //把当前记录的值显示在各组件中
end;
procedure TForm1.Button1Click(Sender: TObject);
begin
RW;
Clsvalue;
DEinsert;
IsIns:=True;
end;
procedure TForm1.Button2Click(Sender: TObject);
begin
RW;
DEinsert;
IsIns:=False;
end;
procedure TForm1.Button3Click(Sender: TObject);
begin
Ronly;
DEOk;
////通过参数进入插入操作或修改操作
If IsIns then
begin
Query1.SQL.Clear ;
Query1.SQL.Add('insert into GZB.db(编号,姓名,性别,职称,工作日期,工资,奖金,婚否)');
query1.SQL.add('Values((:A1),(:A2),(:A3),(:A4),(:A5),(:A6),(:A7),(:A8))');
Query1.Params[0].AsString :=Edit1.Text ;
query1.Params[1].AsString :=Edit2.text;
query1.Params[2].AsString :=Edit3.text;
query1.Params[3].AsString :=Edit4.text;
query1.Params[4].AsDateTime :=StrTodatetime(Edit5.text);
query1.Params[5].Asfloat :=strtofloat(Edit6.text);
query1.Params[6].Asfloat :=strtofloat(Edit7.text);
query1.Params[7].AsBoolean :=CheckBox1.Checked ;
query1.execSQL;
end
else
begin
Query1.SQL.Clear ;
Query1.SQL.Add('update GZB.db set 编号=(:A1)');
Query1.SQL.Add(', 姓名=(:A2)');
Query1.SQL.Add(', 性别=(:A3)');
Query1.SQL.Add(', 职称=(:A4)');
Query1.SQL.Add(', 工作日期=(:A5)');
Query1.SQL.Add(', 工资=(:A6)');
Query1.SQL.Add(', 奖金=(:A7)');
Query1.SQL.Add(', 婚否=(:A8)');
Query1.SQL.Add('Where 编号=(:A9)');
query1.Params[8].AsString :=table1.fieldbyname('编号').AsString;
Query1.Params[0].AsString :=Edit1.Text ;
query1.Params[1].AsString :=Edit2.text;
query1.Params[2].AsString :=Edit3.text;
query1.Params[3].AsString :=Edit4.text;
query1.Params[4].AsDateTime :=StrTodatetime(Edit5.text);
query1.Params[5].Asfloat :=strtofloat(Edit6.text);
query1.Params[6].Asfloat :=strtofloat(Edit7.text);
query1.Params[7].AsBoolean :=CheckBox1.Checked ;
query1.execSQL;
end;
table1.Refresh ;
end;
procedure TForm1.Button4Click(Sender: TObject);
begin
DEOk;
Ronly;
dispValue;
end;
procedure TForm1.DBGrid1CellClick(Column: TColumn);
begin
dispValue;
end;
procedure TForm1.Button5Click(Sender: TObject);
var
bh:string;
begin //通过参数进行删除操作
bh:=Table1.fieldbyname('编号').asstring;
Query1.SQL.Clear ;
Query1.SQL.Add('DELETE FROM GZB WHERE 编号=(:a1)');
query1.Params[0].asstring:=bh;
query1.execSQL;
table1.Refresh ;
dispvalue;
end;
procedure TForm1.BitBtn1Click(Sender: TObject);
begin
query1.Close ;
table1.Close;
Form1.close;
end;
procedure TForm1.Button6Click(Sender: TObject);
begin
Form1.Hide ;
Form2.show;
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -