版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
浙江大学远程教育学院
《数据库应用程序设计》课程作业
姓名:陈元学号:7
年级:2023年秋学习中心:台州电大
作业
第一章
1.5怎样保留Delphi的项目?尝试自己动手创立一种项目,并保留。
答:执行File|SaveAll菜单命令或单击工具栏中的SaveAll按钮便可保留,在保留时可以对工
程文献和单元文献进行更名,但后缀名不能改。保留文献之后,单击工具中的Run按钮或按
F9键,系统将开始编译、连接、运行该工程。
►计算机〉本地送笆(D:)►ProgramFiles(x86)►Borland»Delphi?»Projects»test
文件⑥毫辑㈤壹看M工具①羯助(H)
iH织▼包含更阵中▼共摹▼新建文件交
▲
☆名称▼修改日期大小
j.2345下载□Projectl.cfg2016/11/2621:18CFG文件1KB
下我LJProjectl.dof2016/11/2621:18DOF文件2KB
,更面,Projectl.dpr2016/11/2621:18DelphiProject1KB
最近访问的位置DProjectl.res2016/11/2621:17RESFile1KB
»Unitl.dfm2016/11/2621:18DelphiForm1KB
乖Unitl.pas2016/11/2621:18DelphiSourceFile1KB
N序
1.7尝试设计如图1一10所示的窗体。(图见教材P15页图1—10)
图1-10
答:设计界面:
运行界面:
第二章
2.8设计如图2-5所示口勺界面。单击“按钮r或“按钮2”时在标签上显示顾客所执行的
操作。单击“启动/停用按钮”可控制“按钮r和“按钮2”与否可用,单击“退出系统”
按钮时,结束程序日勺运行。
答:设计界面:
运行界面:
unitUnitl;
interface
uses
Windows,Messages,Syslltils,Variants,Classes,Graphics,Controls,Forms,
Dialogs,StdCtrls;
type
TForml=class(TForm)
Buttonl:TButton;
Button2:TButton;
ctIButton:TButton;
exitButton:TButton;
showLabel:TLabel;
procedureButtonlClick(Sender:TObject);〃按钮1
procedureButton2Click(Sender:TObject);〃按钮2
procedurectlButtonClick(Sender:TObject);〃启动停用按钮
procedureexitButtonClick(Sender:TObject);〃退出按钮
private
{Privatedeclarations}
public
{Publicdeclarations}
end;
var
Forml:TForml;
ctlStatus:integer=O;〃控制按钮1和2日勺启动和关闭,0表达目前为启动,1表达关闭
implementation
{$R
procedureTForml.ButtonlClick(Sender:TObject);
begin
forml.showLabel.Caption:=’您点击了按钮1';
end;
procedureTForml.Button2Click(Sender:TObject);
begin
forml.showLabel.Caption:='您点击了按钮2';
end;
procedureTForml.exitButtonClick(Sender:TObject);
begin
forml.Close;
end;
procedureTForml.ctlButtonClick(Sender:TObject);
begin
ifctlStatus=0then
begin
forml.Buttonl.Enabled:=false;
forml.Button2.Enabled:=false;
ctlStatus:=1;
end
else
begin
forml.Buttonl.Enabled:=true;
forml.Button2.Enabled:=true;
ctlStatus:=0;
end;
end;
end.
2.9设计如图2—6所示的界面。当单击按钮时,可控制文本框中字体的颜色。
图2—5图2-6
答:设计界面
运行界面:
代码:(按钮快捷键的设置措施为在字母前加&,如&R,&G,&B)
unittest;
interface
uses
Windows,Messages,Syslltils,Variants,Classes,Graphics,Controls,Forms,
Dialogs,StdCtrls;
type
TForml=class(TForm)
Labell:TLabel;
Editl:TEdit;
btnRed:TButton;
btnGreen:TButton;
btnBlue:TButton;
procedurebtnRedClick(Sender:TObject);
procedurebtnGreenCIck(Sender:TObject);
procedurebtnBlueClick(Sender:TObject);
private
{Privatedeclarations}
public
{Publicdeclarations}
end;
var
Forml:TForml;
implementation
{$R*.dfm}
procedureTForml.btnRedClick(Sender:TObject);
begin
forml.Editl.Font.Color:=clred;
end;
procedureTForml.btnGreenClick(Sender:TObject);
begin
forml.Editl.Font.Color:=clgreen;
end;
procedureTForml.btnBlueClickfSender:TObject);
begin
forml.Editl.Font.Color:=clblue;
end;
End.
第三章
3.8下列实数中哪些是合法的,哪些是不合法的?不合法的请阐明理由。
(A)0.25E+02(B).25+2(C)25E+2
(D)34.5(E).123(F)-3E-4
答:(A)合法,即为25
(B)不合法,小数点前必须有数字,如表达为0.25+2
(C)合法,即为2500
(D)合法,即为34.5
(E)不合法,同(2)
(F)合法,即为-0.0003
(A)3.12数学式子sin30。写成Delphi体现式是下列哪个?
(B)Sin30(B)Sin(30)(C)SIN(30)(D)Sin(30*Pi/180)
答:D,使用正切函数时需要把角度转化为弧度表达。
第四章
4.7运用3个数字编辑框分别输入小时、分、秒,换算共有多少秒,然后使用标签输出,
答:设计界面:
运行界面:
代码:
unitUnitl;
interface
uses
Windows,Messages,SysUtils,Variants,Classes,Graphics,Controls,Forms,
Dialogs,StdCtrls,Spin;
type
TForml=class(TForm)
Labell:TLabel;
Label2:TLabel;
Label3:TLabel;
SpinEditl:TSpinEdit;
SpinEdit2:TSpinEdit;
SpinEdit3:TSpinEdit;
Label4:TLabel;
procedureSpinEditlChange(Sender:TObject);
procedureSpinEdit2Change(Sender:TObject);
procedureSpinEdit3Change(Sender:TObject);
private
{Privatedeclarations}
procedureCalculateTimeToSencond(timeKind:String;time:integer);
public
{Publicdeclarations}
end;
var
Forml:TForml;
hour:integer=0;
minute:integer=0;
second:integer=0;
tot:integer=0;
implementation
{$R*.dfm}
procedureTForml.CalculateTimeToSencond(timeKind:String;time:integer);
begin
iftimeKind='hh'then
hour:=time
elseiftimeKind='mi'then
minute:=time
elseiftimeKind='ss'then
second:=time;
tot:=hour*60*60+minute*60+second;
forml.Label4.Caption:='总共为'+IntToStr(tot)+'秒
end;
procedureTForml.SpinEditlChange(Sender:TObject);
begin
Forml.CalculateTimeToSencondChh',StrTolnt(Forml.SpinEditl.Text));
end;
procedureTForml.SpinEdit2Change(Sender:TObject);
begin
Forml.CalculateTimeToSencondCmi',StrTolnt(Forml.SpinEdit2.Text));
end;
procedureTForml.SpinEdit3Change(Sender:TObject);
begin
Forml.CalculateTimeToSencondCss',StrTolnt(Forml.SpinEdit3.Text));
end;
end.
4.8在编辑框中输入一种实数,运用备注框输出该实数及其平方和平方根。
答:设计界面:
运行界面:
代码:
unitUnitl;
interface
uses
Windows,Messages,Syslltils,Variants,Classes,Graphics,Controls,Forms,
Dialogs,StdCtrls;
type
TForml=class(TForm)
Editl:TEdit;
Labell:TLabel;
Memol:TMemo;
Label2:TLabel;
procedureEditlChange(Sender:TObject);
procedureFormCreate(Sender:TObject);
private
{Privatedeclarations}
public
{Publicdeclarations}
end;
var
Forml:TForml;
numl:Real;〃原实数
num2:Real;〃实数平方
num3:Real;〃实数平方根
implementation
{$R
procedureTForml.EditlChangefSender:TObject);
begin
ifforml.Editl.Text<>"then
begin
numl:=StrToFloat(forml.Editl.Text);
num2:=Sqr(ni.ml);
num3:=Sqrt(numl);
forml.Memol.Lines.Clear;
forml.Memol.Lines.Add('实数为:'+FloatToStr(numl));
forml.Memol.Lines.Add('平方)y:'+FloatToStr(num2));
forml.Memol.Lines.Add『平方根为:'+FloatToStr(num3));
end;
end;
End.
第五章
5.11任意给定3个实数,按照从大到小日勺次序依次输出这3个数。
答:设计界面:
代码:unitUnitl;
interface
uses
Windows,Messages,SysUtils,Variants,Classes,Graphics,Controls,Forms,
Dialogs,StdCtrls;
type
TForml=class(TForm)
numlEdit:TEdit;
Labell:TLabel;
Label2:TLabel;
resultLabel:TLabel;
num2Edit:TEdit;
num3Edit:TEdit;
procedurenumlEditChange(Sender:TObject);
procedurenum2CditChange(Sender:TObject);
procedurenum3EditChange(Sender:TObject);
private
{Privatedeclarations}
procedureCompareNumber();
public
{Publicdeclarations}
end;
var
Forml:TForml;
numl:Real;〃数字1
num2:Real;〃数字2
num3:Real;〃数字3
compnum:Real;〃比较时转换2数
outStr:String;〃输出成果;
implementation
{$R*.dfm}
procedureTForml.CompareNumber();
begin
if(trim(forml.numlEdit.Text)<>")And(trim(forml.num2Edit.Text)<>")And
(trim(forml.num3Edit.Text)<>")then
begin
numl:=StrToFloat(forml.numlEdit.Text);
num2:=StrToFloat(forml.num2Edit.Text);
num3:=StrToFloat(forml.num3Edit.Text);
ifnum2>numlthen
begin
compnum:=numl;
numl:=num2;
num2:=compnum;
end;
ifnum3>numlthen
begin
compnum:=numl;
numl:=num3;
num3:=compnum;
end;
ifnum3>num2then
begin
compnum:=num2;
num2:=num3;
num3:=compnum;
end;
outStr:=FloatToStr(numl)+'/+FloatToStr(num2)+FloatToStr(num3);
forml.resultLabel.Caption:=outStr;
end;
end;
procedureTForml.numlEditChangefSender:TObject);
begin
forml.CompareNumber;
end;
procedureTForml.num2EditChange(Sender:TObject);
begin
forml.CompareNumber;
end;
procedureTForml.num3EditChange(Sender:TObject);
begin
forml.CompareNumber;
end;
end.
5.13假设工资口勺增幅原贝!为:若基本工资不小于等于1000元,增长工资20%;若不不小于
1000元不小于等于800元,则增长工资15%;若不不小于800元,则增长工资10%“请根据
顾客在文本框中输入的基本工资,计算出增长后的工资。
答:设计界面:
运行界面:
代码:
unitUnitl;
interface
Windows,Messages,Syslltils,Variants,Classes,Graphics,Controls,Forms,
Dialogs,StdCtrls;
type
TForml=class(TForm)
Labell:TLabel;
Editl:TEdit;
Label?:TLabel;
resultLabel:TLabel;
procedureEditlChange(Sender:TObject);
private
{Privatedeclarations}
public
{Publicdeclarations}
end;
var
Forml:TForml;
salary:Real;
outSalary:Real;
implementation
{$R*.dfm}
procedureTForml.EditlChange(Sender:TObject);
begin
salary:=StrToFloat(forml.Editl.Text);
if(salary>=1000)then
outSalary:=salary*(1+0.2)
elseif(salary<1000)And(salary>=800)then
outSalary:=salary*(1+0.15)
elseif(salary<800)then
outSalary:=salary*(1+0.1);
forml.resultLabel.Caption:=FloatToStr(outSalary);
end;
End.
第六章
6.5设s=lX2X3X…Xn,求5不不小于20230时最大的n°
答:设计界面:
运行界面:
代码:
unitUnitl;
interface
uses
Windows,Messages,SysUtils,Variants,Classes,Graphics,Controls,Forms,
Dialogs,StdCtrls;
type
TForml=class(TForm)
Labell:TLabel;
Editl:TEdit;
Label2:TLabel;
resultLabel:TLabel;
procedureFormCreate(Sender:TObject);
private
{Privatedeclarations}
public
{Publicdeclarations}
end;
var
Forml:TForml;
number;n,tot:Integer;
implementation
{$R*.dfm)
procedureTForml.FormCreate(Sender:TObject);
begin
tot:=1;n:=0;
number:=StrTolnt(forml.Editl.Text);
Whiletot<=numberde
begin
n:=n+1;
tot:=tot*n;
end;
forml.resultLabel.Caption:=IntToStr(n-l);
end;
end.
6.10在标签上输出100~2。0之间的所有的奇数,其中3的倍数除外。
答:设计界面:
/运行界面:
岁域出100~200之间的奇数
.31133137139143145149151155157161163167169173175179181185187191193197199
III
代码:
unitUnitl;
interface
uses
Windows,Messages,Syslltils,Variants,Classes,Graphics,Controls,Forms,
Dialogs,StdCtrls;
type
TForml=class(TForm)
resultLabel:TLabel;
procedureFormCreate(Sender:TObject);
private
{Privatedeclarations}
public
{Publicdeclarations}
end;
var
Forml:TForml;
number,i:Integer;
outStr:String;
implementation
{$R*.dfm)
procedureTForml.FormCreate(Sender:TObject);
begin
fori:=100to200do
begin
ifimod2<>0then
ifimod3<>0then
outStr:=outStr+''+IntToStr(i);
forml.resultLabel.Caption:=outStr;
end;
end;
end.
第七章
7.4求广200这200个数附和,当和不小于10000时结束计算。(规定使用转向语句)
答:设计界面:
运行界面:
代码:
unitUnitl;
interface
uses
Windows,Messages,Syslltils,Variants,Classes,Graphics,Controls,Forms,
Dialogs,StdCtrls;
type
TForml=class(TForm)
Labell:TLabel;
procedureFormCreate(Sender:TObject);
private
{Privatedeclarations}
public
{Publicdeclarations}
end;
var
Forml:TForml;
sum,n:integer;
implementation
{$R
procedureTForml.FormCreate(Sender:TObject);
begin
sum:=0;
n:=0;
repeat
n:=n+1;
sum:=sum+n;
if(sum>10000)thenbreak;
untiln>=200;
forml.Labell.Caption:='总和为,+IntToStr(sum);
end;
end.
第八章
8.8编写函数,输出100~500之间所有能同步被3和13整除的数。
答:设计界面:
运行界面:
代码:
unitUnitl;
interface
uses
Windows,Messages,SysUtils,Variants,Classes,Graphics,Controls,Forms,
Dialogs,StdCtrls;
type
TForml=class(TForm)
Labell:TLabel;
procedureFormCreate(Sender:TObject);
private
{Privatedeclarations}
FunctioncheckNum(num:integer):boolean;
public
{Publicdeclarations}
end;
var
Forml:TForml;
implementation
{$R*.dfm)
FunctionTForml.checkNum(num:integer):boolean;
varn:boolean;
begin
if(nummod3=0)And(nummod13=0)then
n:=true
else
n:=false;
result:=n;
end;
procedureTForml.FormCreate(Sender:TObject);
vari:integer;
varout:string;
begin
fori:=100to500do
begin
ifcheckNum(i)then
out:=out+"+IntToStr(i);
end;
forml.Label1.Caption:=out;
end;
end.
第九章
9.2打开对话框组件和打开图片对话框组件有什么异同点?
答:两者都会打开一种对话框用于选择电脑当地上的文献;
不一样H勺是前者可以选择所有类型的文献,而后者只可以选择图片类型的文献,并且可
以预览图片。
第十章
10.7菜单命令项与工具栏按钮的单击事件中II勺代码与否可以关联?怎样关联?
答:可以关联,将工具栏按钮ToolButton淤JStyle属性设置为tbsDropDown,然后在Menuitem
属性中选择对应的菜单项即可。
第十一章
11.4调用子窗体的)close措施时与否可关闭该子窗体?若不能,需要怎么做?
答:调用close措施只能最小化窗口,假如要真正关闭,需要调用free措施,早子窗体的
OnClose事件中使用代码Action:=CaFree;把Action动作参数设定为CaFree。
第十二章
使用红色日勺画笔在窗体中绘制一种半径为5的圆,并且用黄色来填充圆的)内部.
答:设计界面:
运行界面:
代码:
unitUnitl;
interface
Windows,Messages,Syslltils,Variants,Classes,Graphics,Controls,Forms,
Dialogs;
type
TForml=class(TForm)
procedureFormPaint(Sender:TObject);
private
{Privatedeclarations}
public
{Publicdeclarations}
end;
var
Forml:TForml;
implementation
{$R*.dfm}
procedureTForml.FormPaint(Sender:TObject);
varr,x,y:integer;
begin
r:=5;
x:=80;
y:=50;
Canvas.Pen.Color:=clred;
Canvas.Pen.Width:=1;
Canvas.Brush.Color:=clyellow;
Canvas.Ellipse(x,y,x+r*2_,y+r*2);
end;
end.
第十三章
(1)133打开一种文本文献有几种措施?区别是什么?
(2)答:有3种打开文献的措施:
(3)对于文本文献,Reset过程以只读方式打开一种文献,并将文献日勺指针移动到文献开
头。时于类型文献和无类型文献,Reset过程以可读写方式打开文献。
Rewrite过程以写口勺方式创立并打开一种新文献,若该文献已经存在,此操作将使文献被覆
盖。对于一种已打开的文献,则先关闭文献,并重新创立一种新文献覆盖原有文献,文献指
针设置到开头处。
Append过程打开•种已存在日勺文本文献,并以追加的J方式在文献末尾添加文本。
第十四章
14.4使用DatabaseDeskTop设计如表14—5所示F、J数据表,并创立简朴日勺应用程序完毕数据
的浏览和编辑功能。
表14—5数据表字段设置阐明
字段名类型长度阐明
Id字符型4产品编号
Name字符型20产品名称
Price数值型产品单价
Count短整型产品库存量
答:设计界面:
金DatabaseDesktop
FileEditViewTableRecordToolsWindowHelp
冕隹圃圜
Record6of6
(数据库设计)
运行界面:
14.6使用数据库软件(如SqlServer2023)创立如表14-6所示的数据表,并开发一种学生
档案管理系统,完毕学生基本信息的添加、删除、修改等。同步,可以按照学生的学号、姓
名等进行数据的查询。最终,将学牛.的基本信息以报表的方式输出。
表14—6数据表字段设置阐明
字段名类型长度阐明
Id字符型8学号
Name字符型8姓名
Sex字符型2性别
Birthday日期型4出生日期
Address字符型50家庭住址
答:⑴使用的数据库软件为SqlServer2023R2,根据题目设计口勺数据表构造为
WIN-NRSLQON20B9...er-dbo.Students
列名数据类型允许Null值
Idndiar(8)□
Namenchar(8)B
Sexnchar⑵□
ftrthdaydate
>Addressjnchar(50)团
□
表名为Students
(2)本系统包括5个Form,分别为FormMain主界面,FormTable信息录入查询界
面,FormReport学生信息报表界面,FormHelp系统协助界nH,FormAbout系统有关界面
(3)各Form详细内容:
A:FormMain
设计界面:
对象使状查看器询
也白♦,
□MainForm
Labell
Label2
Label3
□MainMenul
S晦档案管理版块(KU
线信息录入与查询N2}
S信息报表网
退出系统{H5}
白琢群助{N6}
的使用说明m
-4关于网
运行界面:
代码;
unitUnit2;
interface
uses
Windows,Messages,SysUtils,Variants,Classes,Graphics,Controls,Forms,
Dialogs,Menus,StdCtrls,Unit3,Unitl,Unit4zUnits;
type
TMainForm=class(TForm)
MainMenul:TMainMenu;
Nl:TMenultem;
N2:TMenultem;
N4:TMenultem;
N5:TMenultem;
N6:TMenultem;
N7:TMenultem;
N8:TMenultem;
Labell:TLabel;
Labcl2:TLabcl;
Label3:TLabel;
procedureN8Click(Sender:TObject);
procedureN5Click(Sender:TObject);
procedureN2Click(Sender:TObject);
procedureFormCloseQuery(Sender:TObject;varCanClose:Boolean);
procedureN4Click(Sender:TObject);
procedureN7Click(Sender:TObject);
private
procedurecloseApp;
public
{Publicdeclarations}
end;
var
MainForm:TMainForm;
implementation
{$R*.dfm}
procedureTMainForm.N8Click(Sender:TObject);
begin
formAbout.Show;
end;
procedureTMainForm.N5Click(Sender:TObject);
begin
closeApp;
end;
procedureTMainForm.N2Click(Sender:TObject);
varchild:TFormTable;
begin
child:=TFormTable.Create(Application);
child.Show;
end;
procedureTMainForm.closeApp;
begin
ifmessagedig('您确定要退出本系统了吗?',mtconfirmation,[mbyes,mbno]Q)=mryesthen
Application.Terminate
end;
procedureTMainForm.FormCloseQuery(Sender:TObject;varCanClose:Boolean);
begin
ifmessagedig('您确定要退出本系统了吗?',mtconfirmation,[mbyes,mbno],0)=mryes
then
CanClose:=true
else
CanClose:=false;
end;
procedureTMainForm.N4Click(Sender:TObject);
varchild:TFormReport;
begin
child:=TFormReportCreate(Application);
child.Show;
end;
procedureTMainForm.N7Click(Sender:TObject);
begin
formHelp.Show;
end;
end.
B:FormTable
设计界面:
运行界面:
桎案告理模块(Y)帮助(Z)
岁学生信息首理系统
植案管遑模块(Y)帮助(Z)
档案管理模块①帮助但)
里学生信息售理系统
模块市帮助⑷
代码:
unitUnitl;
interface
uses
Windows,Messages,Syslltils,Variants,Classes,Graphics,Controls,Forms,
Dialogs,Grids,DBGrids,DB,ADODB,ComCtrls,StdCtrls,ToolWin,ImgList;
type
TFormTable=class(TForm)
ADOConnectionl:TADOConnection;
DataSourcel:TDataSojrce;
DBGridl:TDBGrid;
ToolBarl:TToolBar;
TBAdd:TToolButton;
Editname:TEdit;
Labell:TLabel;
Label2:TLabel;
Label3:TLabel;
Editaddress:TEdit;
Label4:TLabel;
Editid:TEdit;
Labels:TLabel;
Label6:TLabel;
ComboBoxsex:TComboBox;
DateBirthday:TDateTimePicker;
TBUpdate:TToolButton;
TBDelete:TToolButton;
TBSelect:TToolButton;
TBCommit:TToolButton;
LabelMode:TLabel;
ToolButton6:TToolButton;
Label8:TLabel;
ADOQueryl:TADOQuery;
DataSource2:TDataSojrce;
ADOTablel:TADOTable;
ImageListl:TlmageList;
procedureTBAddClicklSender:TObject);
procedureTBUpdateClick(Sender:TObject);
procedureTBDeleteClickfSender:TObject);
procedureTBSelectClick(Sender:TObject);
procedureFormPaint(Sender:TObject);
procedureTBCommitClick(Sender:TObject);
procedureDBGridlDblClick(Sender:TObject);
private
public
{Publicdeclarations)
end;
var
FormTable:TFormTable;
TBStatus:integer;〃模式类型。查询,1-新增,2-修改3-删除
SelMode:integer;〃第一次按查询按钮进入查询模式--1,再按•次执行查询-2,其他状况
下为“0
implementation
{$R*.dfm}
procedureTFormTable.TBAddClick(Sender:TObject);
varmaxid:integer;
vardate:string;
begin
TBStatus:=1;
Editid.Enabled:=false;
Editname.Enabled:=true;
Comboboxsex.Enabled:=true;
DateBirthday.Enabled:=true;
Editaddress.Enabled:=true;
Editid.Text:=
Editname.Text:=
SelMode:=0;
LabelMode.Caption:='新增模式
DBGridl.DataSource:=DataSourcel;
date:=FormatDateTimeCvyrnm',now);
WithFormTable.ADOQueryldo
begin
ADOQueryl.Close;
ADOQueryl.SQL.CIear;
ADOQueryl.SQL.Add('selectmax(substring(ld,6,3))maxidfromStudentswhere
substring(ld/2,4)='+date);
ADOQueryl.Open;
if(ADOQueryl.RecordCount=0)then
Editid.Text:='S'+date+'001,
else
begin
if(ADOQueryl.FieldByNameCmaxid'J.Text=")or
(ADOQueryl.FieldByNameCmaxid'J.Text='NULL')then
Editid.Text:='S'+date+'001'
else
begin
maxid:=StrlblntfADOQueryl.FieldByName('maxid').Text);
maxid:=maxid+1;
Editid.Text:='S'+date+StringOfCharCO',3-length(lntToStr(maxid)))+
IntToStr(maxid);
end;
end;
end;
end;
procedureTFormTable.TBUodateClick(Sender:TObject);
begin
TBStatus:=2;
Editid.Enabled:=false;
Editname.Enabled:=true;
Comboboxsex.Enabled:=true;
DateBirthday.Enabled:=true;
Editaddress.Enabled:=true;
Editid.Text:=
Editname.Text:=
SelMode:=0;
LabelMode.Caption:='修改模式
DBGridl.DataSource:=DataSourcel;
end;
procedureTFormTable.TBDeleteClick(Sender:TObject);
begin
TBStatus:=3;
Editid.Enabled:=false;
Editname.Enabled:=false;
Comboboxsex.Enabled:=false;
DateBirthday.Enabled:=false;
Editaddress.Enabled:=false;
Editid.Text:=
Editname.Text:=
SelMode:=0;
LabelMode.Caption:=删除模式
DBGridl.DataSource:=DataSourcel;
end;
procedureTFormTable.TBSelectClick(Sender:TObject);
varid,ename,address:string;
begin
ifSelMode=0then
begin
TBStatus:=0;
Editid.Enabled:=true;
Editname.Enabled:=true;
Comboboxsex.Enabled:=true;
DateBirthday.Enabled:=true;
Editaddress.Enabled:=true;
Editid.Text:=
Editname.Text:=
SelMode:=1;
LabelMode.Caption:='查询模式,;
DBGridl.DataSource:=DataSource2;
end
elseifSelMode=1ther
begin
ifEditid.Text="then
id:='null'
else
id:="n+Editid.Text4-"";
ifEditname.Text="then
ename:='null'
else
ename:=""+Editname.Text+"";
ifEditaddress.Text="then
address:='null'
else
address:=""+Editaddress.Text+"";
withADOQueryldo
begin
ADOQueryl.Close;
ADOQueryl.SQL.CIear;
ADOQueryl.SQL.Add('selectId,Name,Sex,Birthday,AddressfromStudents'+
whereId=isnull('+id+'Jd)'+
1andName=isnull('+ename+',Name)'+
andSex='+""+Comboboxsex.Text+""+
'andBirthday='+""+DateToStr(DateBirthday.Date)+""+
'andAddress=isnull('+address+',Address)');
ADOQueryl.Open;
end;
end;
end;
procedureTFormTable.FormPaint(Sender:TObject);
begin
〃默认为查询模式,此模式下学号可以输入,其他模式下不可以输入
TBStatus:=0;
Editid.Enabled:=true;
Editid.Text:=
SelMode:=1;
DBGridl.DataSource:=DataSource2;
end;
procedureTFormTable.TBCommitClick(Sender:TObject);
begin
〃新增,修改,删除操作后,执行保留动作
ifTBStatus=1then
begin
ifmessagedig('您确定要新增此笔资料吗?',mtconfirmation,[mbyes,mbno],0)=mryes
then
begin
ifEditname.Text="then
begin
ShowMessage('姓名必须输入!');
exit;
end;
WithADOQLeryldo
begin
ADOQueryl.Close;
ADOQueryl.SQL.CIear;
ADOQueryl.SQL.Add('insertintoStudents(Id,Name,Sex,Birthday,
Address)'+
Values
('+""+Editid.Text+""+,,,+""+Editname.Text+""+,;+
,"+ComboBoxsex.Text+""+,;+""+DateToStr(DateBirthday.Date)+,",+
;+",,+Editaddress.Text+,,,,+,),);
try
ADOCZueryl.txecSQL;
ifADOQueryl.RowsAffected>0then
begin
ADOTablel.Close;
ADOTablel.Open;
ShowMessage('提交成功');
end
else
ShowMessage('提交出现异竹);
except
ShowMessage('提交出现异常
end;
end;
end;
end
elseifTBStatus=2then
begin
ifmessagedlg('您确定要修改此笔资料吗T,mtconfirmation,[mbyes,mbno],0)=mryes
then
begin
ifEditname.Text="then
begin
ShowMessage('姓名必须输入!');
exit;
end;
withADOQueryldo
begin
ADOQueryl.Close;
ADOQueryl.SQL.CIear;
ADOQueryl.SQLAddCupdateStudentssetName=+Editname.Text+""+,'+
,+""+Comboboxsex.Text+,",+7+
Birthda/
,+,,"+DateToStr(DateBirthday.Date)+""+,;+
Address=,+""+Editaddress.Text+""+
'whereId='+""+Editid.Text+"");
try
ADOQueryl.ExecSQL;
ifAD0Query1.RowsAffected>0then
begin
ADOTablel.Close;
ADOTablel.Open;
ShowMessage('修改成功
end
else
ShowMessagef提交出现异常,);
except
ShowMessage('提交出现异常');
end;
end;
end;
end
elseifTBStatus=3then
begin
ifmessagedig(,您确定要删除此笔资料吗?,mtconfirmation,[mbyes,mbno],0)=mryes
then
begin
withADOQueryldo
begin
ADOQueryl.Close;
ADOQueryl.SQL.CIear;
ADOQueryl.SQL.Add('deletefromStudentswhereId='+""+Editid.Text+"");
try
ADOQueryL.ExecSQL;
ifADOQueryl.RowsAffected>0then
begin
ADOTablel.Close;
ADOTablel.Open;
ShowMessage('删除成功
end
else
ShowMessage('提交出现异常,);
except
ShowMessage^提交出现异常,);
end;
end;
end;
end;
end;
procedureTFormTabl
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 心理医师社交恐惧症治疗方案
- 仲裁协议书在什么地方
- 检验科凝血功能检测质控措施
- 中医养生肾脏科普
- 城域网的封装协议书
- 皮肤科湿疹患者护肤方案分享
- 2026中国邮政储蓄银行广西区分行春季校园招聘备考题库及参考答案详解(综合题)
- 2026陕西西北工业大学网络空间安全学院信息系统与智能安全团队招聘1人备考题库附答案详解(突破训练)
- 2026年烟台文化旅游职业学院公开招聘高层次、高技能人才备考题库附答案详解(模拟题)
- 2026山东济南市第一人民医院招聘卫生高级人才和博士(控制总量)18人备考题库及参考答案详解(b卷)
- 南充市发展和改革委员会2026年公开遴选公务员(6人)考试参考试题及答案解析
- 癫痫预测模型的泛化能力提升策略研究
- 母婴三病传播知识培训课件
- 2026届陕西省高三二模高考数学模拟试卷试题(含答案详解)
- 地推销售话术与技巧
- 知情同意与拒绝治疗
- 甲钴胺的临床应用
- 杭州中考社会试卷及答案2025
- 渠道管理成员激励
- 水上抛石应急预案
- 中国2型糖尿病防治指南(2024年版)解读
评论
0/150
提交评论