📄 dataupdateunit.pas
字号:
unit dataupdateunit;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, Buttons, Spin, ComCtrls, Mask, DBCtrls;
type
Tdataupdateform = class(TForm)
PageControl1: TPageControl;
TabSheet1: TTabSheet;
TabSheet2: TTabSheet;
TabSheet4: TTabSheet;
Label1: TLabel;
Label2: TLabel;
Label3: TLabel;
Label4: TLabel;
Label5: TLabel;
Edit1: TEdit;
Edit2: TEdit;
Edit3: TEdit;
SpinEdit1:TSpinEdit;
DateTimePicker1: TDateTimePicker;
BitBtn1: TBitBtn;
BitBtn3: TBitBtn;
BitBtn4: TBitBtn;
BitBtn2: TBitBtn;
DBEdit1: TDBEdit;
DBEdit2: TDBEdit;
DBEdit3: TDBEdit;
DBEdit4: TDBEdit;
DBEdit5: TDBEdit;
Label6: TLabel;
Label7: TLabel;
Label8: TLabel;
Label9: TLabel;
Label10: TLabel;
Button1: TButton;
Button2: TButton;
Button3: TButton;
Button4: TButton;
Button5: TButton;
Label11: TLabel;
Label12: TLabel;
Label13: TLabel;
Label14: TLabel;
ComboBox1: TComboBox;
DBLookupComboBox1: TDBLookupComboBox;
DBLookupComboBox2: TDBLookupComboBox;
DBLookupComboBox3: TDBLookupComboBox;
BitBtn5: TBitBtn;
Button7: TButton;
BitBtn6: TBitBtn;
procedure BitBtn1Click(Sender: TObject);
procedure BitBtn2Click(Sender: TObject);
procedure BitBtn3Click(Sender: TObject);
procedure BitBtn5Click(Sender: TObject);
procedure SpinEdit1KeyPress(Sender: TObject; var Key: Char);
procedure Button4Click(Sender: TObject);
procedure Button5Click(Sender: TObject);
procedure Button1Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
procedure Button6Click(Sender: TObject);
procedure Button7Click(Sender: TObject);
procedure Button3Click(Sender: TObject);
procedure SpinEdit1Exit(Sender: TObject);
procedure SpinEdit1Change(Sender: TObject);
procedure BitBtn4Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
dataupdateform: Tdataupdateform;
implementation
uses Unit1;
{$R *.dfm}
procedure Tdataupdateform.BitBtn1Click(Sender: TObject);
begin
with updatedatamodule.studentstable do
begin
if spinedit1.Text='' then
begin
showmessage('请输入学号:');
spinedit1.SetFocus;
exit;
end;
Indexfieldnames:='SNo';
if not findkey([SpinEdit1.Text]) then
begin
showmessage('无此记录,不能修改!');
exit;
end;
edit;
fieldbyname('name').AsString:=edit1.text;
fieldbyname('sno').AsString:=spinedit1.text;
fieldbyname('sex').AsString :=edit2.text;
fieldbyname('age').AsString:=edit3.text;
fieldbyname('entrance').AsDatetime:=datetimepicker1.date;
Post;
showmessage('修改成功!');
end;
end;
procedure Tdataupdateform.BitBtn2Click(Sender: TObject);
begin
with updatedatamodule.studentstable do
begin
if ((spinedit1.text<>'')and(edit1.text<>'')) then
begin
Indexfieldnames:='SNo';
if findkey([SpinEdit1.Text])
then begin
showmessage('此学生已存在!');
exit;
end;
try
append;
fieldbyname('name').asstring:=edit1.text;
fieldbyname('sno').asstring:=spinedit1.text;
fieldbyname('sex').asstring:=edit2.text;
fieldbyname('age').asstring:=edit3.text;
fieldbyname('entrance').asdatetime:=datetimepicker1.date;
post;
showmessage('添加成功!');
except
begin
active:=false;
showmessage('输入学号的范围应在:10000000—19999999之间!');
active :=true;
exit;
end;
end;
end else showmessage('姓名和学号不能为空!');
end;
end;
procedure Tdataupdateform.BitBtn3Click(Sender: TObject);
begin
with updatedatamodule .studentstable do
begin
Indexfieldnames:='SNo';
if findkey([spinedit1.Text])
then begin
edit1.text:='';
edit2.text:='';
edit3.text:='';
showmessage('删除成功!');
end else showmessage('无此记录!');
end;
end;
procedure Tdataupdateform.SpinEdit1KeyPress(Sender: TObject;
var Key: Char);
begin
if key=#13 then
dataupdateform.SpinEdit1Exit(sender);
end;
procedure Tdataupdateform.Button4Click(Sender: TObject);
begin
updatedatamodule.teacherstable.prior;
button1.Enabled:=true;
end;
procedure Tdataupdateform.Button5Click(Sender: TObject);
begin
updatedatamodule.teacherstable.next;
button1.Enabled:=true;
end;
procedure Tdataupdateform.Button1Click(Sender: TObject);
begin
with updatedatamodule.teacherstable do
begin
Insert;
button1.enabled:=false;
button2.enabled:=true;
end;
end;
procedure Tdataupdateform.Button2Click(Sender: TObject);
begin
if((dbedit2.text='')or(dbedit1.text='')) then
begin
showmessage('姓名和编号不能为空!');
exit;
end;
with updatedatamodule.teacherstable do
begin
try
post;
showmessage('添加成功!');
button2.Enabled:=false;
button1.Enabled:=true;
except
begin
active:=true;
Insert;
button1.enabled:=true;
button2.enabled:=false;
showmessage('添加失败!');
exit;
end;
end;
end;
end;
procedure Tdataupdateform.Button7Click(Sender: TObject);
var
finded:boolean;
begin
with updatedatamodule.teachingtable do
begin
finded:=false;
first;
repeat
if((fieldbyname('tno').asstring=dblookupcombobox2.text)
and(fieldbyname('cno').asstring=dblookupcombobox3.text)
and(fieldbyname('sno').asstring=dblookupcombobox1.text) )
then begin
showmessage('删除成功!');
delete;
finded:=true;
exit
end
else
next;
until((finded)or(eof));
if not (finded) then
showmessage('无此记录!');
end;
end;
procedure Tdataupdateform.Button6Click(Sender: TObject);
begin
with updatedatamodule.teachingtable do
begin
if((dblookupcombobox1.text='')and(dblookupcombobox3.text=''))
then begin
showmessage('请选择要添加的学生学号和课程号');
exit;
end;
IndexFieldNames:='CNo,SNo';
if findkey ([dblookupcombobox3.Text,dblookupcombobox1.Text])
then begin
edit;
fieldbyname('grade').asstring:=combobox1.text;
post;
showmessage('更新成功!');
end else showmessage('无此记录!');
end;
end;
procedure Tdataupdateform.BitBtn5Click(Sender: TObject);
begin
with updatedatamodule.teachingtable do
begin
IndexFieldNames:='CNo,TNo,SNo';
if findkey([dblookupcombobox3.text,dblookupcombobox2.text,dblookupcombobox1.text])
then begin
showmessage('该学生记录已存在!');
exit;
end;
if ((dblookupcombobox3.text<>'')and(dblookupcombobox2.text<>'')) then
begin
insert;
fieldbyname('cno').asstring:=dblookupcombobox3.text;
fieldbyname('tno').asstring:=dblookupcombobox2.text;
fieldbyname('sno').asstring:=dblookupcombobox1.text;
fieldbyname('grade').asstring:=combobox1.text;
post;
showmessage('添加成功!');
end else showmessage('教师和学生的编号不能为空!');
end;
end;
//end.
procedure Tdataupdateform.SpinEdit1Exit(Sender: TObject);
begin
if(length(spinedit1.text)<>8)then
begin
showmessage('请输入8个字符!');
spinedit1.SetFocus;
exit;
end;
with updatedatamodule.studentstable do
begin
IndexfieldNames:='sno';
if Findkey([spinedit1.Text]) then
begin
edit1.Text:=fieldbyname('name').asstring;
spinedit1.Text:=fieldbyname('sno').asstring;
edit2.Text:=fieldbyname('sex').asstring;
edit3.Text:=fieldbyname('age').asstring;
datetimepicker1.Date:=fieldbyname('entrance').asdatetime;
end else
begin
edit1.text:='';
edit2.text:='';
edit3.text:='';
end;
end;
end;
procedure Tdataupdateform.SpinEdit1Change(Sender: TObject);
begin
dataupdateform.spinedit1exit(sender);
end;
procedure Tdataupdateform.Button3Click(Sender: TObject);
begin
with updatedatamodule.teacherstable do
begin
if dbedit2.Text='' then
begin
showmessage('请输入教师的编号!');
exit;
end;
try
delete;
showmessage(' 删除成功!');
except
begin
active:=true;
insert;
showmessage('删除失败!');
exit;
end;
end;
end;
end;
procedure Tdataupdateform.BitBtn4Click(Sender: TObject);
begin
close;
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -