C++Builder访问SQL Server2000数据库
一. 数据库操作中常用组件的功能及关系图
在C++ Builder程序设计时,若需要访问数据库,则要用到许多数据库相关的组件(控件),常见的数据库组件功能及关系如图 1所示:
ADOStoredProc ADOCommand 存储过程组件 (功能:执行存储在服务器上的程序代码) Connection Connection 命令组件 (功能:通过SQL语句直接对数据进行添加、删除和修改等操作) ConnectionString (连接串属性指明数据库的类型、数据库名称及访问密码等) 连接组件 ADOConnection (功能:与数据库进行连接) ADOTable、ADOQuery等 Connection 数据集组件 (功能:直接访问数据库中的数据)DataSource DataSet 数据源组件 (功能:为数据组件提供数据来源)DBEdit、DBGrid、DBLookupComboBox等 DataSource 数据组件 (功能:显示并允许用户操作数据)
图 1 C++ Builder数据库常用组件功能及关系图
二. 程序设计总体思想
为了充分展示C++ Builder访问数据库的强大功能,本实验总体设计思想可用图 2来表示。它具有以下特点:
? 展示C++ Builder访问SQL Server数据库的七种典型用法(七个模块)
? ?
每个实验模块均可独立设计与运行
学生可根据自身情况有选择地做其中几个模块或全部模块
图 2 实验总体设计
三. 实验指导
1. 实验准备(附加Engineering数据库)
确认SQL Serve2000的服务管理器已经正常运行。
启动SQL Server企业管理器,执行菜单命令“工具-所有任务-附加数据库”,出现以下“附加数据库”对话框,如图 3所示:
图 3 附加数据库对话框
点击按钮,在随后出现的“浏览现有的文件”对话框中,找到并选择“Engineering_Data.MDF”
后,点击“确定”按钮,回到“附加数据库”对话框,点击“确定”按钮,出现图 4所示的对话框即表示附加完成:
图 4 附加完成对话框
2. 第一模块(数据显示及交互操作)
(1) 功能简介
显示数据库中的文本或图像数据;提供一个导航栏,并通过它允许用户对数据表进行插入、删除或修改等操作。
(2) VCL组件对象及布局
启动C++ Builder。在窗体上放置一个组框GroupBox、四个标签Label、一个数据库连接ADOConnection、一个表数据集ADOTable、一个数据源DataSource、三个数据编辑框DBEdit、一个数据图像DBImage和一个数据导航栏DBNavigator组件,此时设计界面如图 5所示:
图 5 初始设计界面
(3) 组件对象的属性设置
按表 1~ 表 5设置以上各VCL组件对象的属性。
表 1 组框与标签对象的属性设置
组件所属的选项卡 默认组件名 GroupBox11 Label1 Standard Label2 Label3 Label4 标签 组件 AutoSize属性 Caption属性 组框 false false false false 数据显示及交互操作 零件信息表 零件编号 零件名称 材料
表 2 数据库连接对象的属性设置
组件所属的选项卡 ADO 默认组件名 ADOConnection1 组件 Name属性 ConnectionString属性 (设置方法见表下文字) LoginPrompt Connected false true 数据库连接 Engineering 数据库连接组件对象的ConnectionString属性设置方法如下:选中该对象,在属性面板内找到ConnectionString,点击该属性值后面的按钮,会出现如图 6所示的“Form1->Engineering ConnectionString”对话框:
图 6 Form1->Engineering ConnectionString对话框
点击“Build…”按钮,会出现如图 7所示的“数据连接属性”对话框的“提供程序”页面:
图 7 “数据连接属性”对话框的“提供程序”页面
选择“Microsoft OLE DB Provider for SQL Server”列表行,并点击“下一步”按钮,则又出现如图 8所示的“数据连接属性”对话框的“连接”页面:
图 8 “数据连接属性”对话框的“连接”页面
按图 8输入服务器名称(local表示本地计算机,注意两边有括号),并选择相应的数据库,然后点击“确定”按钮,返回图 6所示的对话框,再点击“OK”按钮,完成属性设置。
表 3 表数据集对象的属性设置
组件所属的选项卡 默认组件名 ADO ADOTable1 组件所属的选项卡 DataAccess 组件 表数据集 Name属性 Connection属性 Parts Engineering 组件 数据源 TableName属性 零件信息表 Active属性 true 表 4 数据源对象的属性设置
默认组件名 DataSource1 Name属性 DataSet属性 DSParts Parts 表 5 数据编辑框、数据图像与数据导航栏对象的属性设置
组件所属的选项卡 默认组件名 DBEdit1 DBEdit2 DataControls DBEdit3 DBImage1 DBNavigator1 数据图像 数据导航栏 数据编辑框 DSParts 组件 DataSource属性 DataField属性 零件编号 零件名称 零件材料 零件图形 (4) 保存程序文件并做程序测试
点击C++Builder主工具栏上的“Save All”按钮,保存工程文件和窗体文件到指定的文件夹下。(这里应注意:所有的文件都应保存在同一个文件夹下)
程序测试。点击C++Builder主工具栏上的Run按钮
,程序经过编译后自动生成EXE文件,
并且立即运行。(程序运行后,可以在程序所提供的用户界面上直接修改数据;可以通过导航栏在表中各记录之间移动记录指针;可以插入或删除记录。虽然没有写一行程序代码,但却具有如此多的功能,组件对象功不可没。)