📄 grzz.pas
字号:
unit GRZZ;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, ImgList, ComCtrls, ToolWin, StdCtrls, Buttons, Mask, XPMenu;
type
TGRZZForm = class(TForm)
GroupBox1: TGroupBox;
ToolBar1: TToolBar;
TBprior: TToolButton;
TBInsert: TToolButton;
TBDelete: TToolButton;
TBNext: TToolButton;
ImageList1: TImageList;
TBCancel: TBitBtn;
GroupBox2: TGroupBox;
Label1: TLabel;
XHEdit: TEdit;
Label2: TLabel;
XNEdit: TEdit;
Label3: TLabel;
PSEdit: TEdit;
Label4: TLabel;
Label5: TLabel;
Label6: TLabel;
DZEdit: TEdit;
Label7: TLabel;
ZZEdit: TEdit;
Label8: TLabel;
Label9: TLabel;
Label10: TLabel;
Label11: TLabel;
YSComboBox: TComboBox;
Label12: TLabel;
DLComboBox: TComboBox;
XZComboBox: TComboBox;
PZComboBox: TComboBox;
THEdit: TMaskEdit;
CWEdit: TEdit;
memo1: TMemo;
StatusBar1: TStatusBar;
TBSumbit: TBitBtn;
XPMenu1: TXPMenu;
procedure FormCreate(Sender: TObject);
procedure TBpriorClick(Sender: TObject);
procedure TBNextClick(Sender: TObject);
procedure TBDeleteClick(Sender: TObject);
procedure BitBtn5Click(Sender: TObject);
procedure XHEditKeyPress(Sender: TObject; var Key: Char);
procedure TBSumbitClick(Sender: TObject);
procedure TBCancelClick(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
GRZZForm: TGRZZForm;
implementation
uses md;
{$R *.dfm}
procedure TGRZZForm.FormCreate(Sender: TObject);
begin
//程序启动时建立连接。以备后面使用
with datamd.ADOWorth do
begin
close;
sql.Clear;
sql.add('select * from worth');
open;
xhedit.Text:=fieldbyname('学号').AsString;
xnedit.Text:=fieldbyname('姓名').AsString;
psedit.Text:=fieldbyname('寝室号').AsString;
cwedit.Text:=fieldbyname('床位号').AsString;
yscombobox.Text:=fieldbyname('钥锁发否').AsString;
dzedit.Text:=fieldbyname('橙子号').AsString;
zzedit.Text:=fieldbyname('桌子号').AsString;
dlcombobox.Text:=fieldbyname('电脑').AsString;
xzcombobox.Text:=fieldbyname('箱子').AsString;
thedit.Text:=fieldbyname('电话号码').AsString;
memo1.Text:=fieldbyname('备注').AsVariant;
end;
end;
procedure TGRZZForm.TBpriorClick(Sender: TObject);
begin
//上前移一条记录。显示相应的字段值,但这不是唯一的方法。存在很多的垃圾代码
with datamd.ADOWorth do
begin
prior;
xhedit.Text:=fieldbyname('学号').AsString;
xnedit.Text:=fieldbyname('姓名').AsString;
psedit.Text:=fieldbyname('寝室号').AsString;
cwedit.Text:=fieldbyname('床位号').AsString;
yscombobox.Text:=fieldbyname('钥锁发否').AsString;
dzedit.Text:=fieldbyname('橙子号').AsString;
zzedit.Text:=fieldbyname('桌子号').AsString;
dlcombobox.Text:=fieldbyname('电脑').AsString;
xzcombobox.Text:=fieldbyname('箱子').AsString;
thedit.Text:=fieldbyname('电话号码').AsString;
memo1.Text:=fieldbyname('备注').AsVariant;
end;
end;
procedure TGRZZForm.TBNextClick(Sender: TObject);
begin
//移到记录。显示出来
with datamd.ADOWorth do
begin
Next;
xhedit.Text:=fieldbyname('学号').AsString;
xnedit.Text:=fieldbyname('姓名').AsString;
psedit.Text:=fieldbyname('寝室号').AsString;
cwedit.Text:=fieldbyname('床位号').AsString;
yscombobox.Items.Text:=fieldbyname('钥锁发否').AsString;
dzedit.Text:=fieldbyname('橙子号').AsString;
zzedit.Text:=fieldbyname('桌子号').AsString;
dlcombobox.Text:=fieldbyname('电脑').AsString;
xzcombobox.Text:=fieldbyname('箱子').AsString;
thedit.Text:=fieldbyname('电话号码').AsString;
memo1.Text:=fieldbyname('备注').AsVariant;
end;
end;
procedure TGRZZForm.TBDeleteClick(Sender: TObject);
begin
//如果当前记录没有到最后记录就可以删除记录
if not datamd.ADOWorth.Eof then
datamd.ADOWorth.Delete; //删除记录
end;
procedure TGRZZForm.BitBtn5Click(Sender: TObject);
var
I:integer;
begin
//插入一条新记录。但其中有许多垃圾代码
with datamd.ADOWorth do
begin
if not locate('学号',trim(xhedit.Text),[]) then
begin
append;
fieldbyname('学号').AsString:=xhedit.Text;
fieldbyname('姓名').AsString:=xnedit.Text;
fieldbyname('寝室号').AsString:=psedit.Text;
fieldbyname('床位号').AsString:=cwedit.Text;
fieldbyname('钥锁发否').AsString:=yscombobox.Text;
fieldbyname('橙子号').AsString:=dzedit.Text;
fieldbyname('桌子号').AsString:=zzedit.Text;
fieldbyname('电脑').AsString:=dlcombobox.Text;
fieldbyname('箱子').AsString:=xzcombobox.Text;
fieldbyname('电话号码').AsString:=thedit.Text;
fieldbyname('备注').AsVariant:=memo1.Text;
if messagedlg('是否将数据存入到数据库中!',mtconfirmation,[mbYes,mbNo],0)=mryes then
post //插入记录
else
cancel; //取消插入
//把可以编辑的组件清空
with groupbox2 do
begin
for i:=0 to ControlCount-1 do
begin
if Controls[i] is tedit then
(controls[i] as Tedit).Clear;
if controls[i] is Tcombobox then
(controls[i] as Tcombobox).Clear;
if controls[i] is Tmaskedit then
(controls[i] as TMaskEdit).Clear;
end;
end;
end
else
showmessage('记录已经存在');
end;
end;
procedure TGRZZForm.XHEditKeyPress(Sender: TObject; var Key: Char);
begin
//当用户输入学号时,查找相应的记录。没有没有此记录就不能登记
if Key=#13 then
with datamd.ADOOrder do
begin
close;
sql.Clear; //相应的记录在学生的基本情况表中查询
sql.Add('select * from tborder where 学号='''+xhedit.Text+'''');
open ;
if not eof then
begin
tbinsert.Enabled:=true;
xnedit.Text:=fieldbyname('姓名').AsString;
psedit.Text:=fieldbyname('寝室号').AsString;
end
else
begin
showmessage('没有该学生');
tbinsert.Enabled:=false;
end;
end;
end;
procedure TGRZZForm.TBSumbitClick(Sender: TObject);
begin
//修改已存在的记录。加入到数据库中
with datamd.ADOWorth do
begin
edit;
fieldbyname('学号').AsString:=xhedit.Text;
fieldbyname('姓名').AsString:=xnedit.Text;
fieldbyname('寝室号').AsString:=psedit.Text;
fieldbyname('床位号').AsString:=cwedit.Text;
fieldbyname('钥锁发否').AsString:=yscombobox.Text;
fieldbyname('橙子号').AsString:=dzedit.Text;
fieldbyname('桌子号').AsString:=zzedit.Text;
fieldbyname('电脑').AsString:=dlcombobox.Text;
fieldbyname('箱子').AsString:=xzcombobox.Text;
fieldbyname('电话号码').AsString:=thedit.Text;
fieldbyname('备注').AsVariant:=memo1.Text;
if messagedlg('是否将数据存入到数据库中!',mtconfirmation,[mbYes,mbNo],0)=mryes then
post
else
cancel;
end;
end;
procedure TGRZZForm.TBCancelClick(Sender: TObject);
begin
close;
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -