实验7C++Builder访问SQLServer数据库Word格式.docx
- 文档编号:17376810
- 上传时间:2022-12-01
- 格式:DOCX
- 页数:31
- 大小:737.61KB
实验7C++Builder访问SQLServer数据库Word格式.docx
《实验7C++Builder访问SQLServer数据库Word格式.docx》由会员分享,可在线阅读,更多相关《实验7C++Builder访问SQLServer数据库Word格式.docx(31页珍藏版)》请在冰豆网上搜索。
标签
false
零件信息表
Label2
零件编号
Label3
零件名称
Label4
材料
表2数据库连接对象的属性设置
Name属性
ConnectionString属性
LoginPrompt
Connected
ADO
ADOConnection1
数据库连接
Engineering
(设置方法见表下文字)
true
数据库连接组件对象的ConnectionString属性设置方法如下:
选中该对象,在属性面板内找到ConnectionString,点击该属性值后面的
按钮,会出现如图6所示的“Form1->
EngineeringConnectionString”对话框:
图6Form1->
EngineeringConnectionString对话框
点击“Build…”按钮,会出现如图7所示的“数据连接属性”对话框的“提供程序”页面:
图7“数据连接属性”对话框的“提供程序”页面
选择“MicrosoftOLEDBProviderforSQLServer”列表行,并点击“下一步”按钮,则又出现如图8所示的“数据连接属性”对话框的“连接”页面:
图8“数据连接属性”对话框的“连接”页面
按图8输入服务器名称(local表示本地计算机,注意两边有括号),并选择相应的数据库,然后点击“确定”按钮,返回图6所示的对话框,再点击“OK”按钮,完成属性设置。
表3表数据集对象的属性设置
Connection属性
TableName属性
Active属性
ADOTable1
表数据集
Parts
表4数据源对象的属性设置
DataSet属性
DataAccess
DataSource1
数据源
DSParts
表5数据编辑框、数据图像与数据导航栏对象的属性设置
DataSource属性
DataField属性
DataControls
DBEdit1
数据编辑框
DBEdit2
DBEdit3
零件材料
DBImage1
数据图像
零件图形
DBNavigator1
数据导航栏
(4)保存程序文件并做程序测试
点击C++Builder主工具栏上的“SaveAll”按钮,保存工程文件和窗体文件到指定的文件夹下。
(这里应注意:
所有的文件都应保存在同一个文件夹下)
程序测试。
点击C++Builder主工具栏上的Run按钮
,程序经过编译后自动生成EXE文件,并且立即运行。
(程序运行后,可以在程序所提供的用户界面上直接修改数据;
可以通过导航栏在表中各记录之间移动记录指针;
可以插入或删除记录。
虽然没有写一行程序代码,但却具有如此多的功能,组件对象功不可没。
)
第二模块(Master-Detail关系)
(5)功能简介
本模块显示零件的加工工艺路线,其特点是提供一个组合框,允许用户从中选择零件(其实是零件编号),而一旦选择确定,程序将自动显示所选择零件的加工工艺路线。
(6)VCL组件对象及布局
在窗体上放置一个组框GroupBox、两个标签Label、两个表数据集ADOTable、两个数据源DataSource、一个数据查表组合框DBLookupComboBox和一个数据网格DBGrid组件,此时设计界面如图9所示(本实验的全部七个模块共用一个数据库连接组件,以后不再说明。
):
图9第二模块初始设计界面
(7)组件对象的属性设置
按表6~表11顺序设置以上各VCL组件对象的属性。
表6组框与标签对象的属性设置
GroupBox2
Master-Detail关系
Label5
零件工艺路线
Label6
表7表数据集对象的属性设置
Part
ADOTable2
Paths
工艺路线表
表8数据源对象的属性设置
DSPart
DataSource2
DSPaths
为了能够实现自动显示用户所选择零件的加工工艺路线,还必须按表9设置Name属性为“Paths”的表数据集的两个属性。
表9Paths表数据集对象的Master-Detail关系属性设置
MasterSource属性
MasterFields属性
表10数据查表组合框对象的属性设置
ListSource属性
ListField属性
KeyField属性
DBLookupComboBox1
数据查表组合框
表11数据网格对象的属性设置
DBGrid1
数据网格
保存并运行程序,发现数据网格可以正常显示用户所选择零件的工艺路线,但其第一列的宽度值过大,另外,显示的列也太多。
下面做一些调整。
选中该数据网格对象,然后在属性面板中点击“Columns…”属性名后的
按钮,出现“EditingDBGrid1->
Columns”对话框(注意观察属性面板所发生的变化)。
连续点击四次对话框中的
按钮后,对话框的内容如图10所示。
图10“EditingDBGrid1->
Columns”对话框
选中其中第一行(0-TColumn),在属性面板中将其“FieldName”属性设置为“零件编号”,“Width”属性设置为“60”。
同理可设置其余三行的“FieldName”属性分别为“工序号”、“工步号”和“工步代码”。
“Width”属性值酌情确定。
(8)保存并运行程序
点击C++Builder主工具栏上的“SaveAll”按钮,保存所有程序文件。
,运行程序。
2.第三模块(数据查询-V带断面尺寸)
本模块主要功能是根据用户所输入的V带型号,从数据库的“V带断面”数据表中查询出对应该型号的V带的顶宽(a)、断面高(h)、节宽(a0)、节高(y0)等断面尺寸值。
在窗体上放置一个组框GroupBox、一个图像Image、两个标签Label、一个编辑框Edit、一个查询数据集ADOQuery、一个数据源DataSource和一个数据网格DBGrid组件,设计界面如图11所示:
图11第三模块初始设计界面
按表12~表17顺序设置以上各VCL组件对象的属性。
表12组框与标签对象的属性设置
GroupBox3
数据查询-V带断面尺寸
Label7
V带型号
Label8
(A,B,C,D,E,F,O)
表13编辑框对象的属性设置
Text属性
Edit1
编辑框
(空值)
表14图像对象的属性设置
Stretch属性
Picture属性
Additional
Image1
图像
(设置为图片文件“V带断面.JPG”)
(图片文件“V带断面.JPG”应事先复制到程序所在的文件夹内。
表15查询数据集对象的属性设置
ADOQuery1
查询数据集
VBelt
表16数据源对象的属性设置
DSVBelt
表17数据网格对象的属性设置
DBGrid2
(4)编写编辑框(Edit1)对象的按键(KeyPress)事件过程
void__fastcallTForm1:
:
Edit1KeyPress(TObject*Sender,char&
Key)
{
if(Key==13){//如果按了回车键
VBelt->
Close();
//关闭查询数据集
SQL->
Clear();
//清除原有的SQL属性
Add("
Select*fromV带断面where型号=:
xh"
);
//设置SQL属性(带参数)
Parameters->
ParamByName("
)->
Value=Edit1->
Text;
//设置参数值
Open();
//打开查询数据集
for(inti=0;
i<
5;
i++){//设置数据网格控件各列宽度
DBGrid2->
Columns->
Items[i]->
Width=45;
Alignment=taLeftJustify;
//设置左对齐方式或taCenter;
}
Edit1->
//清除编辑框内的文本
}
(5)保存程序文件并做程序测试
在编辑框内输入要查询的V带型号(型号字母不区分大小写)后打回车键,下面的数据网格组件中会显示相应型号V带的顶宽、断面高、节宽、节高等断面尺寸值。
3.第四模块(逐行处理数据集)
本模块的功能是逐行处理一个表数据集中的记录,并把其中满足条件的记录显示在一个字符串网格控件中。
本例同时演示了如何用非数据组件(前面第一至第三模块所用到的数据编辑框DBEdit、数据图像DBImage、数据网格DBGrid等都是数据组件)显示数据库中的数据。
在窗体上放置一个组框GroupBox、一个标签Label、一个字符串网格StringGrid、一个按钮Button和一个表数据集ADOTable组件,此时设计界面如图12所示:
图12第四模块初始设计界面
按表18~表20顺序设置以上各VCL组件对象的属性。
表18组框、标签与命令按钮对象的属性设置
GroupBox4
逐行处理数据集
Label9
顶宽在30~40之间的V带
Button1
命令按钮
执行动作
表19字符串网格对象的属性设置
DefaultRowHeight
DefaultColWidth
RowCount
ColCount
StringGrid1
字符串网格
16
60
1
2
表20表数据集对象的属性设置
Belts
V带断面
(4)编写按钮(Button1)对象的单击(Click)事件过程
Button1Click(TObject*Sender)
inti=0;
//计数器变量
Belts->
First();
//将表数据集记录指针移到第一条记录
while(!
Belts->
Eof){//如果记录指针尚未到达文件末尾(即指向某条记录)
floatw=Belts->
FieldByName("
顶宽"
AsFloat;
//取当前记录的“顶宽”字段值
if(w>
=30&
&
w<
=40){//如果该值在30~40之间
i++;
//计数器加1
StringGrid1->
RowCount++;
//字符串网格组件的行数加1
Cells[0][i]=Belts->
型号"
AsString;
//网格的第i行第0列
//显示“型号”字段的值
Cells[1][i]=FloatToStr(w);
//网格的第i行第1列显示“顶宽”字段的值
Next();
//将表数据集记录指针移到下一条记录
if(i>
0){//如果有顶宽在30~40之间的V带
FixedRows=1;
//设置网格组件的FixedRows(固定行)属性值为1
Cells[0][0]="
;
//网格的第0行第0列显示“型号”
Cells[1][0]="
//网格的第0行第1列显示“顶宽”
在程序界面上点击“执行动作”按钮,则字符串网格组件中应显示满足条件的两种型号的V带及顶宽值。
4.第五模块(用命令组件向“V带断面”表中添加数据行)
命令组件允许通过SQL语句直接操纵数据库,即对数据表进行插入、删除和修改等操作。
本模块仅演示向表中添加数据行的操作,而数据的来源则由字符串网格组件提供(需要用户输入数据)。
在窗体上放置一个组框GroupBox、一个标签Label、一个编辑框Edit、一个字符串网格StringGrid、两个按钮Button和一个命令ADOCommand组件,此时设计界面如图13所示:
图13第五模块初始设计界面
按表21~表23顺序设置以上各VCL组件对象的属性。
表21组框、标签、编辑框与按钮对象的属性设置
Text属性
GroupBox5
用命令组件向“V带断面”表中添加数据行
Label10
编辑单元格
Edit2
CELL
(空串)
Button3
按钮
INSERT
添加行
Button4
SAVE
保存
表22字符串网格对象的属性设置
Name
FixedRows
FixedCols
StringGrid2
SG
40
5
表23命令对象的属性设置
ADOCommand1
命令
(4)编写各对象的事件过程
窗体(Form)对象的生成(Create)事件过程
FormCreate(TObject*Sender)//自动填充字符串网格的第一行
SG->
Cells[2][0]="
断面高"
Cells[3][0]="
节宽"
Cells[4][0]="
节高"
字符串网格(SG)对象的单击(Click)事件过程
SGClick(TObject*Sender)
CELL->
Text=SG->
Cells[SG->
Col][SG->
Row];
//将所选网格单元的内容复制到编辑框
SetFocus();
//令编辑框对象获得输入焦点
编辑框(CELL)对象的按键(KeyPress)事件过程
CELLKeyPress(TObject*Sender,char&
if(Key==13){//如果在编辑框内打了回车键
Row]=CELL->
Text;
//将编辑框中的内容复制到所选网格单元
if(SG->
Col<
4)SG->
Col++;
//自动选择下一个单元(便于用户连续输入数据)
SelectAll();
//将编辑框中的内容全部选中(目的是便于用户输入新数据)
“添加行”按钮(INSERT)对象的单击(Click)事件过程
INSERTClick(TObject*Sender)
RowCount++;
//为字符串网格对象添加一行单元格
“保存”按钮(SAVE)对象的单击(Click)事件过程
SAVEClick(TObject*Sender)//将字符串网格中的数据全部写入数据表中
intr,n=0;
//r是循环变量,n是计数器(用于存储用户输入的有效数据的行数)
//设置命令组件的命令文本(带5个参数的SQL语句)
ADOCommand1->
CommandText="
INSERTINTOV带断面VALUES(:
Model_Val,:
Width_Val,:
Height_Val,:
Width2_Val,:
Height2_Val)"
for(r=1;
r<
SG->
RowCount;
r++)//循环次数是已输入数据的行数(但并非每行都有效)
if(SG->
Cells[0][r]!
="
"
){//如果某行第一列不为空(则本行是有效数据)
n++;
//下面几行指定各参数的值,参数值取自每行中的单元格内容
Model_Val"
Value=SG->
Cells[0][r];
Width_Val"
Cells[1][r];
Height_Val"
Cells[2][r];
A
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 实验 Builder 访问 SQLServer 数据库
![提示](https://static.bdocx.com/images/bang_tan.gif)