西安工程大学C++程序设计.docx

上传人:b****2 文档编号:1148637 上传时间:2023-04-30 格式:DOCX 页数:17 大小:610.22KB
下载 相关 举报
西安工程大学C++程序设计.docx_第1页
第1页 / 共17页
西安工程大学C++程序设计.docx_第2页
第2页 / 共17页
西安工程大学C++程序设计.docx_第3页
第3页 / 共17页
西安工程大学C++程序设计.docx_第4页
第4页 / 共17页
西安工程大学C++程序设计.docx_第5页
第5页 / 共17页
西安工程大学C++程序设计.docx_第6页
第6页 / 共17页
西安工程大学C++程序设计.docx_第7页
第7页 / 共17页
西安工程大学C++程序设计.docx_第8页
第8页 / 共17页
西安工程大学C++程序设计.docx_第9页
第9页 / 共17页
西安工程大学C++程序设计.docx_第10页
第10页 / 共17页
西安工程大学C++程序设计.docx_第11页
第11页 / 共17页
西安工程大学C++程序设计.docx_第12页
第12页 / 共17页
西安工程大学C++程序设计.docx_第13页
第13页 / 共17页
西安工程大学C++程序设计.docx_第14页
第14页 / 共17页
西安工程大学C++程序设计.docx_第15页
第15页 / 共17页
西安工程大学C++程序设计.docx_第16页
第16页 / 共17页
西安工程大学C++程序设计.docx_第17页
第17页 / 共17页
亲,该文档总共17页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

西安工程大学C++程序设计.docx

《西安工程大学C++程序设计.docx》由会员分享,可在线阅读,更多相关《西安工程大学C++程序设计.docx(17页珍藏版)》请在冰点文库上搜索。

西安工程大学C++程序设计.docx

西安工程大学C++程序设计

《《可视化程序设计》》

——综合实验报告

 

题目:

(实验四)数据库应用设

一、试验目的:

熟悉数据库应用程序的开发步骤;学会运用数据库组件结构中的数据集组件、数据源组件和数据控制组件;练习使用BCBDataBaseDesktop创建数据表、编辑数据表;练习使用BDEAdministrator设置、连接、管理数据;练习使用Query组件及SQL语句完成对数据库的查询。

二、实验内容:

1.编写一个通讯录应用程序,通讯录中的信息包括姓名、性别、院系、班级、地址、邮编、电话1、电话2、E_mail地址。

2.该通讯录应用程序应具有信息的查看、编辑功能。

3.该通讯录应用程序应具有对信息的添加和删除功能。

4.该通讯录应用程序应具有如下对信息的查找功能:

1)按院系查找,用户选择一个院系后应列出该系的所有班级户选择某一班级后应列出该班的所有学生信息。

2)按姓名查找。

3)按学号查找。

4)支持模糊查询。

三、试验步骤:

1.数据库的设计与建表:

通过“程序”中的BorlandC++Builder6中的BDEAdministator选项中的

“对象”中的“新建”,出现如图对话框,如图

(1)所示,选“确定”,之后修改数据库别名为“TongXunLu”,PATH改为E:

\C++Builder6程序\我的程序,(我的程序为新建文件夹),最后在“对象”选项卡中选“应用”,修改路径后如图

(一)所示。

(1)

(一)

2..新建一个BanJiMC表:

1)创建表结构:

通过“程序”中的BorlandC++Builder6中的DatabaseDesktop选项中的“文件”中的“新建”选项卡中的“表”,出现如图对话框,如图

(2)所示,选“OK”,之后建立表结构,如图(3)所示,最后点击SaveAs选择C++Builder6中的“我的程序”,选择BanJiMC文件进行保存。

2)之后创建表:

选项中“文件”中的“打开”选项卡中的“表”,选择“我的程序”->BanJiMC表,选择“编辑”,所见表如图(4)所示。

(2)

3)再顺次建立相关表结构以及创建表,如图(4)图(5)所示

图(3)

图(4)

图(5)

4)相应的表结构如下:

3..界面设计如图

(二)所示

1)界面设计如下所示

注意:

后面紧接的图是在浏览状态下的相关操作。

2)运行后的界面如下所示

3)进行相关操作以后的界面如下所示

(1)按学号模糊查找的实现。

(2)按姓名模糊查找的实现。

(3)按学院查找,实现相应的班级。

(4)按班级查找,实现相应的学生信息。

(4)浏览、编辑之间的应用。

(5)对数据表的相应操作——添加、删除、查找等的验证。

上图为学号的模糊查找到精确查找的实现——模糊查找成功!

上图为姓名模糊查找到精确查找的实现——模糊查找成功!

上图为编辑状态时添加信息的实现——添加成功!

上图为在编辑状态时删除信息的实现——删除时在确定后删除成功!

按班级查找相对应的人员通信信息——操作成功!

四、组件对象属性设计,与数据源组件的连接

组件名称

属性名称

属性的取值

TForm1

Caption

通讯录应用程序界面

TSpeedButton1

Caption

浏览

TSpeedButton2

Caption

编辑

TSpeedButton3

Caption

退出

TDBNavigator1

DataSource

Name

ShowHint

DataSourceTXDA

DBNavigatorTXDA

true

TLable1

Caption

选择院系

TLable2

Caption

选择班级

TComboBox1

Name

ComboBoxZymc

TQuery1

DatabaseName

Name

SQL

TongXunLu

QueryYXMC

Select*FromYuanXiMC

TDBGrid1

DataSource

Name

DataSourceBJMC

DBGridBJMC

TQuery2

DatabaseName

Name

SQL

TongXunLu

QueryBJMC

如下图(四)

TDataSource1

DataSet

Name

QueryBJMC

DataSourceBJMC

TLable3

Caption

可如下进行信息查找

TLable4

Caption

按学号查找

TLable5

Caption

按姓名查找

TQuery3

DatabaseName

Name

SQL

TongXunLu

QueryTXDA

Select*FromTongXunDA

TEdit1

Name

Text

EditXH

清空

TEdit2

实现事件代码的共享

Name

Text

OnExit事件

OnEnter事件

EditXM

清空

选择EditXHExit

选择EditXHEnter

TDBGrid2

DataSource

Name

DataSourceTXDA

DBGridTXDA

TTable1

Active

DatabaseName

Name

TableName

False

TongXunLu

TableTXDA

TongXunDA.DB

TDataSource2

DataSet

Name

TableTXDA

DataSourceTXDA

图(四)

五.相关代码如下

在TongXunDA表显示时,表头字段显示如下:

打开TDBGridTXDA组件的列名编辑器,加入所有字段,并设置各个列的Title属性中的Caption子属性,使DBGridTXDA现实的列标题为“学号”、“姓名”“性别”、“院系名称”、“班级名称”、“地址”、“邮政编码”、“TELL1”、“TELL2”“E-Mail”。

1).窗体的初始化,初始化代码完成表的打开和初始化下拉列表框

void__fastcallTForm1:

:

FormCreate(TObject*Sender)

{

QueryYXMC->Open();//打开查询

TableTXDA->Close();

TableTXDA->ReadOnly=true;//使表处于只读状态

TableTXDA->Open();

ComboBoxZymc->Items->Clear();//清空下拉列表框

QueryYXMC->First();

if(QueryYXMC->Eof&&QueryYXMC->Bof)

return;//表为空表

while(!

QueryYXMC->Eof)//记录指针不在表尾时循环

{//将当前记录的YuanXiMingCheng字段的值加入到列表,获取院系名称ComboBoxZymc->Items->Add(QueryYXMC->FieldByName

("YuanXiMingCheng")->AsString);

QueryYXMC->Next();//记录指针下移一个记录

}

ComboBoxZymc->ItemIndex=0;//设置列表索引

ComboBoxZymcClick(Sender);

}

//---------------------------------------------------------------------------

2).设置快捷按钮的一组相关属性——将GropIndex属性均设置为1,使只有一个按钮处于按下状态

void__fastcallTForm1:

:

spbtnLLClick(TObject*Sender)

{

TableTXDA->Close();

TableTXDA->ReadOnly=true;//使表处于浏览状态

TableTXDA->Open();

}

//---------------------------------------------------------------------------

void__fastcallTForm1:

:

spbtnBJClick(TObject*Sender)

{

TableTXDA->Close();

TableTXDA->ReadOnly=false;//使表处于编辑状态

TableTXDA->Open();

}

//---------------------------------------------------------------------------

void__fastcallTForm1:

:

spbtnExitClick(TObject*Sender)

{

Close();

}

//---------------------------------------------------------------------------

3).用ComboBoxZymc的OnClick事件实现选择院系时,表格中出现相应的班级信息,注意此处选择SQL属性的动态传参来实现

void__fastcallTForm1:

:

ComboBoxZymcClick(TObject*Sender)

{//显示所选院系相应的班级信息,设置QuerBJMC的ParamByName属性实现相应班级的出现

QueryBJMC->Close();//准备给动态参数赋值QueryBJMC->ParamByName("YXMC")->AsString=ComboBoxZymc->Text;

QueryBJMC->Open();//执行查询

}

//---------------------------------------------------------------------------

4).在选择班级时,显示对应人员信息

void__fastcallTForm1:

:

QueryBJMCAfterScroll(TDataSet*DataSet)

{//改变QueryBJBM的记录位置时,使用过滤功能更新TableTXDA中的显示的信息

TableTXDA->Close();

if(QueryBJMC->Eof&&QueryBJMC->Bof)//表为空表

TableTXDA->Filtered=false;//不显示任何信息

else

{TableTXDA->Filter="BanJiMingCheng="+QueryBJMC->

FieldByName("BanJiMingCheng")->AsString;

//在TongXunDA中显示与BanJiMC中BanJiMingCheng字段的相同的信息

TableTXDA->Filtered=true;

}

TableTXDA->Open();

}

//---------------------------------------------------------------------------

5).在EditXH组件的OnEnter事件中实现模糊查找时数据集的重新赋值

void__fastcallTForm1:

:

EditXHEnter(TObject*Sender)

{//按学号模糊查找的实现

//进入编辑栏时

TableTXDA->Close();//关闭TableTXDA衔接的TXDA数据表

DataSourceTXDA->DataSet=QueryTXDA;

//修改DataSet给TableTXDA,以实现SQL的模糊查询语句

TableTXDA->Open();

}

//---------------------------------------------------------------------------

6).在EditXH组件的OnChange事件中实现模糊查找——学号、姓名

void__fastcallTForm1:

:

EditXHChange(TObject*Sender)

{//编辑栏每次被修改时

QueryTXDA->Close();//关闭数据表

QueryTXDA->SQL->Clear();//清空SQL语句

QueryTXDA->SQL->Add("Select*FromTongXunDAwhereXueHaolike'%"+EditXH->Text+"%'");//添加模糊查询语句

QueryTXDA->Open();//执行查询

}

//---------------------------------------------------------------------------

void__fastcallTForm1:

:

EditXMEnter(TObject*Sender)

{//按姓名模糊查找的实现

//实现代码的共享

}

//---------------------------------------------------------------------------

void__fastcallTForm1:

:

EditXMChange(TObject*Sender)

{

QueryTXDA->Close();//关闭数据表

QueryTXDA->SQL->Clear();//清空SQL语句

QueryTXDA->SQL->Add("Select*FromTongXunDAwhereXingMinglike'%"+EditXM->Text+"%'");//添加模糊查询语句

QueryTXDA->Open();//执行查询

}

//---------------------------------------------------------------------------

void__fastcallTForm1:

:

EditXMExit(TObject*Sender)

{//离开编辑栏时

//实现代码的共享

}

//---------------------------------------------------------------------------

void__fastcallTForm1:

:

EditXHExit(TObject*Sender)

{//离开编辑栏时

TableTXDA->Close();//关闭QueryTXDA衔接的TXDA数据表

DataSourceTXDA->DataSet=TableTXDA;//恢复DataSet

TableTXDA->Open();

}

//---------------------------------------------------------------------------

六.运行结果及分析

1).按姓名查找可以实现。

2).按学号查找可以实现。

3).按学号查找和按姓名查找均支持模糊查找。

4).实现了浏览状态和编辑状态的改变——此两种状态作用均可实现。

5).当状态出于编辑状态时,察看、添加和删除功能均可实现。

6).选择院系时,没有实现相应班级的显示,但是,当选择相应的班级时,可以实现相应人员信息的显示。

七.个人对此作业的评价——非常满意!

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 小学教育 > 语文

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2