版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
浙江大学远程教育学院
《数据库应用程序设计》课程作业
姓名:学号:
年级:2016年春学习中心:
作业
第一早
1.5如何保存Delphi的项目?尝试自己动手创建一个项目,并保存。
答:执行File|SaveAll菜单命令或单击工具栏中的SaveAll按钮便可保存,在保存时可以对
工程文件和单元文件进行改名,但后缀名不能改。保存文件之后,单击工具中的Run按钮
或按F9键,系统将开始编译、连接、运行该工程。
3-包含5W中-共享-新猛文件55
*姬
匕收朝名的修改日期大小
*T®1QPrqjectLcfg第16/3/2919而一CFG文件1KB
■直苴LProjectl.dof2016/3/29""DOFXS2KB
工最正访问的位置,Projectl.dpr2016/3/291905DelphiProject1KB
OPrqjectl.res2016/3/2913RESFSe1KB
>testdfm2016/3/2919:04DelphiForm1KB
三层
tftestpas2016/3/2919XMDelphiSourceFile1K8
8陋
♦8B片
1.7尝试设计如图1—10所示的窗体。(图见教材P15页图1—10)
图1-10
答:设计界面:
运行界面:
第二章
2.8设计如图2—5所示的界面。单击"按钮1"或"按钮2"时在标签上显示用户所执行的操作。
单击"开启/停用按钮"可控制"按钮r和"按钮2"是否可用,单击"退出系统”按钮时,结束程
序的运行。
运行界面:
代码:
unittest;
interface
uses
Windows,Messages,Syslltils,Variants,Classes,Graphics,Controls,Forms,
Dialogs,StdCtrls;
type
TForml=class(TForm)
showLabel:TLabel;
btnl:TButton;〃按钮1
btn2:TButton;〃按钮2
ctlBtn:TButton;〃开启停用按钮
exitBtn:TButton;〃退出按钮
procedurebtnlClick(Sender:TObject);
procedurebtn2Click(Sender:TObject);
procedureexitBtnClick(Sender:TObject);
procedurectlBtnClick(Sender:TObject);
private
{Privatedeclarations}
public
{Publicdeclarations}
end;
var
Forml:TForml;
ctlStatus:integer=0;〃控制按钮1和2的开启和关闭,0表示当前为开启,1表示关闭
implementation
{$R*.dfm)
procedureTForml.btnlClick(Sender:TObject);
begin
forml.showLabel.Caption:=,您点击了按钮I1;
end;
procedureTForml.btn2Click(Sender:TObject);
begin
forml.showLabel.Caption:='您点击了按钮2';
end;
procedureTForml.exitBtnClick(Sender:TObject);
begin
forml.Close;
end;
procedureTForml.ctlBtnClick(Sender:TObject);
begin
ifctlStatus=0then
begin
forml.btnl.Enabled:=false;
forml.btn2.Enabled:=false;
ctlStatus:=1;
end
else
begin
forml.btnl.Enabled:=true;
forml.btn2.Enabled:=true;
ctlStatus:=0;
end;
end;
end.
2.9设计如图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);
procedurebtnGreenClick(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.btnBlueClick(Sender: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
3.12数学式子sin30写成Delphi表达式是下列哪个?
(A)Sin30(B)Sin(30)(C)SIN(30)(D)Sin(30*Pi/180)
答:D,需要把角度转化为弧度
第四章
4.7利用3个数字编辑框分别输入小时、分、秒,换算共有多少秒,然后使用标签输出。
答:设计界面:
运行界面:
代码:
unittest;
interface
uses
Windows,Messages,SysUtils,Variants,Classes,Graphics,Controls,Forms,
Dialogs,StdCtrls,Spin;
type
TForml=class(TForm)
SpinEditl:TSpinEdit;
Labell:TLabel;
Label2:TLabel;
SpinEdit2:TSpinEdit;
Label3:TLabel;
SpinEdit3:TSpinEdit;
Label4:TLabel;
procedureSpinEditlChange(Sender:TObject);
procedureSpinEdit2Change(Sender:TObject);
procedureSpinEdit3Change(Sender:TObject);
private
{Privatedeclarations}
procedureCalculateTimeToSencond(timeKind:String;timerinteger);
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.CalculateTimeToSencond('hh',StrTolnt(Forml.SpinEditl.Text));
end;
procedureTForml.SpinEdit2Change(Sender:TObject);
begin
Forml.CalculateTimeToSencondCmi',StrTolnt(Forml.SpinEdit2.Text));
end;
procedureTForml.SpinEdit3Change(Sender:TObject);
begin
ForrnKalculateTimeToSencondCss',StrTolnt(Forml.SpinEdit3.Text));
end;
end.
4.8在编辑框中输入一个实数,利用备注框输出该实数及其平方和平方根。
答:设计界面:
代码:
unitUnitl;
interface
uses
Windows,Messages,SysUtils,Variants,Classes,Graphics,Controls,Forms,
Dialogs,StdCtrls;
type
TForml=class(TForm)
Editl:TEdit;
Labell:TLabel;
Memol:TMemo;
Label2:TLabel;
procedureEditlChange(Sender:TObject);
private
{Privatedeclarations}
public
{Publicdeclarations}
end;
var
Forml:TForml;
numl:Real;〃原实数
num2:Real;〃实数平方
num3:Real;〃实数平方根
implementation
{$R*.dfm}
procedureTForml.EditlChange(Sender:TObject);
begin
ifforml.Editl.Text<>*'then
begin
numl:=StrToFloat(forml.Editl.Text);
num2:=Sqr(numl);
num3:=Sqrt(numl);
forml.Memol.Lines.Clear;
forml.Memol.Lines.Add('实数为:'+FloatToStr(numl));
formLMemol.Lines.AddC平方为:'+FloatToStr(num2));
forml.Memol.Lines.Add('平方根为:'+FloatToStr(num3));
end;
end;
end.
第五章
5.11任意给定3个实数,按照从大到小的顺序依次输出这3个数。
答:设计界面:
运行界面:
代码:
unitUnitl;
interface
uses
Windows,Messages,Syslltils,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);
procedurenum2EditChange(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.numlEditChange(Sender: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%。请根据用户在文本
框中输入的基本工资,计算出增加后的工资。
Label2: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,求s不大于20000时最大的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<=numberdo
begin
n:=n+1;
tot:=tot*n;
end;
forml.resultLabel.Caption:=IntToStr(n-l);
end;
end.
6.10在标签上输出100~200之间的所有的奇数,其中3的倍数除外。
答:设计界面:
运行界面:
3r先出令我
101103107109113115119121125127131133137139143451491511551571611631G71691731751791811851871sl133197199
代码:
unitUnitl;
interface
uses
Windows,Messages,SysUtils,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求l~200这200个数的和,当和大于10000时结束计算。(要求使用转向语句)
答:设计界面:
运行界面:
》计算1-200W和[p1回
总和为10011
代码:
unitUnitl;
interface
uses
Windows,Messages,SysUtils,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*.dfm}
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.Labell.Caption:=out;
end;
end.
第九章
9.2打开对话框组件和打开图片对话框组件有什么异同点?
答:两者都会打开一个对话框用于选择电脑本地上的文件
不同的是前者可以选择全部类型的文件,而后者只可以选择图片类型的文件,并且可以
预览图片
第十章
10.7菜单命令项与工具栏按钮的单击事件中的代码是否可以关联?如何关联?
答:将工具栏按钮ToolButton的Style属性设置为tbsDropDown然后在Menuitem属性中选
择对应的菜单项即可
第十一章
11.4调用子窗体的close方法时是否可关闭该子窗体?若不能,需要怎么做?
答:调用close方法只能最小化窗口,如果要真正关闭,需要调用free方法
第十二章
12.3使用红色的画笔在窗体中绘制一个半径为5的圆,并且用黄色来填充圆的内部。
procedureTForml.FormPaint(Sender:TObject);
varr,x,y:integer;
begin
r:=5;
Canvas.Pen.Color:=clred;
Canvas.Brush.Color:=clyellow;
Canvas.Ellipse(0,0,r*2zr*2);
end;
end.
第十三章
13.3打开一个文本文件有几种方法?区别是什么?
答:有3种打开文件的方法:
(1)Reset过程以只读方式打开一个文件。
(2)Rewrite过程创建并打开文件,对于一个己经存在的文件,此操作将使文件被覆盖。
(3)Append过程以追加方式打开文件,并向已经存在的文本文件中追加文本。
第十四章
14.4使用DatabaseDeskTop设计如表14一5所示的数据表,并创建简单的应用程序完成数
据的浏览和编辑功能。
表14—5数据表字段设置说明
字段名类型长度说明
Id字符型4产品编号
Name字符型20产品名称
Price数值型产品单价
Count短整型产品库存量
答:设计界面:
StrurtureInformationParadox7Table:Product.db
FieHrosterTableccopetlies
FieldNameTypeSizeKey|VMyChecks
1IdI4
2Name20
3Pricer1Re^edField
4Count
r
3Maximunvalue.
1
i
5Pcluje:
Savs乩.|Qone|Help
(数据库设计)
(界面设计)
运行界面:
14.6使用数据库软件(如SqlServer2000)创建如表14-6所示的数据表,并开发一个学生
档案管理系统,完成学生基本信息的添加、删除、修改等。同时,可以按照学生的学号、姓
名等进行数据的查询。最后,将学生的基本信息以报表的方式输出。
表14-6数据表字段设置说明
字段名类型长度说明
Id字符型8学号
Name字符型8姓名
Sex字:符型2性别
Birthday日期型4出生日期
Address字符型50家庭住址
答:⑴使用的数据库软件为SqlServer2008,依据题目设计的数据表结构为
列名蚁据类型允许Nul值
IdncharjB)B
Namenchar©)B
Sexnchar⑵回
>Birthdaydate□
Addressnchar(50)回
国
表名为Students
(2)本系统包含5个Form,分别为FormMain主界面,FormTable信息录入查询界面,FormReport
学生信息报表界面,FormHelp系统帮助界面,FormAbout系统关于界面
(3)各Form详细内容:
A:FormMain
设计界面:
欢迎使用学生档案管理系统
Ver1.0.0
副作:翁惠桃
二MainFocm
□Labell
□Label2
□Label3_
B3IM,ainMenul
E档案管理模块{N1}
吗信息录入/查询{N2}
>H信息报表{N4}
退出{N5}
日投■科助{N6}
A*.使用说明{N7)
应关于{N8}
运行界面:
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,mbnoLO)=mryes
then
Application.Terminate
end;
procedureTMainForm.FormCloseQuery(Sender:TObject;varCanClose:Boolean);
begin
ifmessagedig('您确定要退出本系统了吗?',mtconfirmation」mbyes,mbnoLO)=mryes
then
CanClose:=true
else
CanClose:=false;
end;
procedureTMainForm.N4Click(Sender:TObject);
varchild:TFormReport;
begin
child:=TFormReport.Create(Application);
child.Show;
end;
procedureTMainForm.N7Click(Sender:TObject);
begin
formHelp.Show;
end;
end.
B:FormTable
设计界面:
运行界面:
望学生信息首理系婉
>««JLM®BS'^S叵
♦|,|X|Q|⑶当前模式:查询模式
字号:।姓名:।性刖:网—3
出生曰期:12016/4/43
家庭住址:|
学学生信息告理系统一
石8售建模块(Y)幅助(Z)
程案苦理模块(Y)制助(Z)
代码:
unitUnitl;
interface
uses
Windows,Messages,SysUtils,Variants,Classes,Graphics,Controls,Forms,
Dialogs,Grids,DBGrids,DBZADODB,ComCtrls,StdCtrls,ToolWin,ImgList;
type
TFormTable=class(TForm)
ADOConnectionl:TADOConnection;
DataSourcel:TDataSource;
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;
Labels:TLabel;
ADOQueryl:TADOQuery;
DataSource2:TDataSource;
ADOTablel:TADOTable;
ImageListl:TlmageList;
procedureTBAddClick(Sender:TObject);
procedureTBUpdateClick(Sender:TObject);
procedureTBDeleteClick(Sender:TObject);
procedureTBSelectClick(Sender:TObject);
procedureFormPaint(Sender:TObject);
procedureTBCommitClick(Sender:TObject);
procedureDBGridlDblClick(Sender:TObject);
private
public
{Publicdeclarations}
end;
var
FormTable:TFormTable;
TBStatus:integer;〃模式类型,0-查询,1■新增,2-修改,3删除
SelMode:integer;〃第一次按查询按钮进入查询模式再按一次执行查询-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:=FormatDateTimeCyymm',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.FieldByName('maxid').Text=")or
(ADOQueryl.FieldByNameCmaxid'J.Text='NULL')then
Editid.Text:='S'+date+'001'
else
begin
maxid:=StrTolntfADOQueryl.FieldByNameCmaxidyText);
maxid:=maxid+1;
Editid.Text:='S'+date+StringOfCharCO',3-length(lntToStr(maxid)))+
IntlbStr(maxid);
end;
end;
end;
end;
procedureTFormTable.TBUpdateClick(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=1then
begin
ifEditid.Text="then
id:='null'
else
id:=""+Editid.Text+"";
ifEditname.Text="then
ename:='null'
else
ename:=,",+Editname.Text+,n,;
ifEditaddress.Text=Hthen
address:='null'
else
address:=""+Editaddress.Text+"";
withADOQueryldo
begin
ADOQueryl.Close;
ADOQueryl.SQL.CIear;
ADOQueryl.SQL.Add('selectId,Name,Sex,Birthday,AddressfromStudents'+
,,
'whereId=isnull(+id+'zld)+
,
'andName=isnull(+ename+'zName)'+
'andSex=,+",,+Comboboxsex.Text+""+
'andBirthday=,+H,,+DateToStr(DateBirthday.Date)+""+
1andAddress=isnullC+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;
WithADOQueryldo
begin
ADOQueryl.Close;
ADOQueryl.SQL.CIear;
ADOQueryl.SQL.Add('insertintoStudents(Id,Name,Sex,Birthday,
Address)'+
।Values
(,+,,''+EditidText+'',,+';+',n+Editname.Text+n',+,,,+
,,>++()
"+ComboBoxsex.Text+"+'/'""DateToStrDateBirthday.Date+""+
,,,),)
*/'+"^+Editaddress.Text+"+';
try
ADOQueryl.ExecSQL;
ifADOQueryl.RowsAffected>0then
begin
ADOTablel.Close;
ADOTablel.Open;
ShowMessage('提交成功');
end
else
ShowMessage('提交出现异常’);
except
ShowMessage('提交出现异常');
end;
end;
end;
end
elseifTBStatus=2then
begin
ifmessagedlgC您确定要修改此笔资料吗?:mtconfirmation」mbyes,mbno],0)=mryes
then
begin
ifEditname.Text="then
begin
ShowMessage('姓名必须输入!');
exit;
end;
withADOQueryldo
begin
ADOQueryl.Close;
ADOQueryl.SQL.CIear;
ADOQueryl.SQLAdd('updateStudentssetName=,+""+Editname.Text+""+
7+
'Sex=
'+'>"+Comboboxsex.Text+""+7+
'Birthday=
'+,,"+DateToStr(DateBirthday.Date)+""+';+
'Address=,+""+Editaddress.Text+""+
'whereId='+""+Editid.Text+"");
try
ADOQueryl.ExecSQL;
ifADOQueryl.RowsAffected>0then
begin
ADOTablel.Close;
ADOTablel.Open;
ShowMessage('修改成功');
end
else
ShowMessage('提交出现异常);
except
ShowMessage('提交出现异常力
end;
end;
end;
end
elseifTBStatus=3then
begin
ifmessagedig('您确定要删除此笔资料吗?',mtconfirmation」mbyes,mbnoLO)=mryes
then
begin
withADOQueryldo
begin
ADOQueryl.Close;
ADOQueryl.SQL.CIear;
ADOQueryl.SQL.Add('deletefromStudentswhereId='+""+Editid.Text+"");
try
ADOQueryl.ExecSQL
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2024版委托借款合同范本
- 2024年双方关于量子计算机技术研发合同
- 出租门面合同范本2024年
- 房地产项目联营开发合同样本
- 广告位合作合同模板
- 2024自建房购房合同协议书范本
- 2024报价合同格式范本质押合同格式范本2
- 2024生鲜品采购合同范本
- 2024购销合同范本(手机美容保护膜系统购销)范文
- 房产中介合同样本
- (完整版)病例演讲比赛PPT模板
- 直播合作协议
- 社科类课题申报工作辅导报告课件
- 头痛的诊治策略讲课课件
- 沙利文-内窥镜行业现状与发展趋势蓝皮书
- 国家开放大学一网一平台电大《建筑测量》实验报告1-5题库
- 规范诊疗服务行为专项整治行动自查表
- (新平台)国家开放大学《建设法规》形考任务1-4参考答案
- 精益工厂布局及精益物流规划课件
- 注射液无菌检查的方法学验证方案
- 2023年口腔医学期末复习-牙周病学(口腔医学)考试历年真题荟萃带答案
评论
0/150
提交评论