
VC++下借助DBGird控件显示数据库记录
发布时间:2006-05-05 19:02:24 来源:天极网 网友评论 0 条
摘要:本文主要讲述了使用DBGird等ActiveX控件来显示Access数据库记录数据的一般方法。
关键字:DBGird控件、ActiveX、Access数据库
一、 引言
随着数据库技术的进一步发展,我们在生活、办公时越来越多地同各式各样的数据库前台程序打着交道,这就要求数据库前台程序必须拥有良好的人机界面,使用户能有一种好的心情方便的同程序进行交互。Microsoft 的Office系列产品之所以能得到广泛的认同,也是与其良好的人机界面分不开的。数据库最基本的单位--表包含有若干条数据记录,而每一条记录又包含有许多的字段,如何能方便、美观的将这些数据记录显示给用户,并能方便实用的同用户进行交互操作便成为一个程序能否为人接受的重要因素了。Microsoft的Access 97/2000在这方面就做的相当不错,用一个网格式表单容纳了表中所有的数据,显得清晰简洁。而我们在用Visual C++开发的数据库前台程序中如要实现类似的表格就不得不借助于提供的ActiveX控件--DBGrid Control来实现,因为自己重新开发类似的功能无疑是比较困难而又烦琐的。本文着重对该控件的使用做了介绍。
二、 程序的设计实现
本程序采用ODBC接口同Access 2000数据源相连,并将数据库中的记录数据通过网格的形式显示给用户,并能完成同Access表单类似的诸如添加记录、删除记录等功能。
在开始编制程序之前首先要通过控制面板的32位ODBC数据源设置我们待操作的后台Access数据源,建立名称为"雇员"的系统DSN,并将其指向Employee.mdb。为简单计,数据库中有一个"雇员表",内含5个字段:"雇员ID","雇员姓名"、"所在部门","职务","备注"等,并预先填充几条记录备用。
在用VC创建工程时,需要在第二步确认提供了对ActiveX控件的支持。需要有后台数据库的支持,并通过"DataSource"按扭选择刚才注册过的ODBC数据源。此时编译运行程序,通过工具条上的数据库导航条可以移动数据库的记录指针,说明此时已经同数据库建立了连接,但由于没有控件(编辑框或其他)同数据库的字段相棒定,此时还无法显示数据库中的记录。我们先插入网格控件DBGrid Control,方法如下:
1)选择菜单->Project->Add to Project->Components and Controls Gallery
2)在部件选择对话框中进入Registered ActiveX Controls
3)选择DBGrid Control,单击Insert按钮,确认后对类进行配置(可以按默认),我们不做任何修改单击OK按钮,插入完成。
在VC工作区的ResourceView中可以如同使用标准控件一样将刚添加来的DBGird网格控件拖入到对话框中,并对其属性进行设置。下面将主要的属性列表如下:
再次运行程序,可以看到类似Access表格风格的DBGird控件以按我们的属性设定显示了出来,但并没有数据库记录的显示,而且我们注意到刚才设定数据源属性DataSource时,下拉选项只有<Not bound to a DataSource>一项,而并没有我们所希望的ODBC数据源"雇员"的存在。所以我们还要继续添加一些辅助的控件来完成同数据库源的绑定。用同插入DBGird控件一样的步骤,插入Microsoft RemoteData Control控件,同样也要对其属性进行设置:
在RemoteData控件里用SQL语言将ODBC数据源的"雇员表"打开并选取里面的所有字段,也即显示表里的所有记录信息。这时再打开DBGird控件的DataSource属性就会发现下拉条里多了一个"IDC_REMOTEDATACTL1",正是RemoteData的ID号。此次编译运行程序就在网格控件内显示了数据源指定表的所有记录信息,而且可以方便的添加、删除记录以及调整字段尺寸等。具体如图所示:
运行结果表明,在RemoteData控件的中介作用下实现了DBGird控件同ODBC数据源之间的交互。该程序设计实现过程是可靠、实用的。
小结:
DBGrid数据网格控件以其短小精悍而深受大家的喜爱,,本文将在VC下使用DBGrid的具体步骤和方法作了简要地介绍。其它类似的表格控件也可以大致参考这个过程,希望本文能有所启迪与帮助。在Windows 2000 Professional下,由Microsoft Visual C++ 6.0编译测试通过。后台数据源为Microsoft Access 2000。
关键字:DBGird控件、ActiveX、Access数据库
一、 引言
随着数据库技术的进一步发展,我们在生活、办公时越来越多地同各式各样的数据库前台程序打着交道,这就要求数据库前台程序必须拥有良好的人机界面,使用户能有一种好的心情方便的同程序进行交互。Microsoft 的Office系列产品之所以能得到广泛的认同,也是与其良好的人机界面分不开的。数据库最基本的单位--表包含有若干条数据记录,而每一条记录又包含有许多的字段,如何能方便、美观的将这些数据记录显示给用户,并能方便实用的同用户进行交互操作便成为一个程序能否为人接受的重要因素了。Microsoft的Access 97/2000在这方面就做的相当不错,用一个网格式表单容纳了表中所有的数据,显得清晰简洁。而我们在用Visual C++开发的数据库前台程序中如要实现类似的表格就不得不借助于提供的ActiveX控件--DBGrid Control来实现,因为自己重新开发类似的功能无疑是比较困难而又烦琐的。本文着重对该控件的使用做了介绍。
二、 程序的设计实现
本程序采用ODBC接口同Access 2000数据源相连,并将数据库中的记录数据通过网格的形式显示给用户,并能完成同Access表单类似的诸如添加记录、删除记录等功能。
在开始编制程序之前首先要通过控制面板的32位ODBC数据源设置我们待操作的后台Access数据源,建立名称为"雇员"的系统DSN,并将其指向Employee.mdb。为简单计,数据库中有一个"雇员表",内含5个字段:"雇员ID","雇员姓名"、"所在部门","职务","备注"等,并预先填充几条记录备用。
在用VC创建工程时,需要在第二步确认提供了对ActiveX控件的支持。需要有后台数据库的支持,并通过"DataSource"按扭选择刚才注册过的ODBC数据源。此时编译运行程序,通过工具条上的数据库导航条可以移动数据库的记录指针,说明此时已经同数据库建立了连接,但由于没有控件(编辑框或其他)同数据库的字段相棒定,此时还无法显示数据库中的记录。我们先插入网格控件DBGrid Control,方法如下:
1)选择菜单->Project->Add to Project->Components and Controls Gallery
2)在部件选择对话框中进入Registered ActiveX Controls
3)选择DBGrid Control,单击Insert按钮,确认后对类进行配置(可以按默认),我们不做任何修改单击OK按钮,插入完成。
在VC工作区的ResourceView中可以如同使用标准控件一样将刚添加来的DBGird网格控件拖入到对话框中,并对其属性进行设置。下面将主要的属性列表如下:
| 属性名称 | 值 | 说明 |
| Caption | 雇员表 | 设定DBGird控件的网格标题 |
| AllowAddNew | True | 是否允许添加记录 |
| AllowDelete | True | 是否允许删除记录 |
| AllowDelete | True | 是否允许更新记录 |
| ColumnHeaders | True | 是否显示每列的标题 |
| DefColWidth | 100 | 设定每列的宽度 |
| RowHeight | 11 | 设定每行高度 |
| DataSource | <Not bound to a DataSource> | 设定绑定的数据源 |
| BackColor | 0x8000000E | 设定网格的背景色 |
再次运行程序,可以看到类似Access表格风格的DBGird控件以按我们的属性设定显示了出来,但并没有数据库记录的显示,而且我们注意到刚才设定数据源属性DataSource时,下拉选项只有<Not bound to a DataSource>一项,而并没有我们所希望的ODBC数据源"雇员"的存在。所以我们还要继续添加一些辅助的控件来完成同数据库源的绑定。用同插入DBGird控件一样的步骤,插入Microsoft RemoteData Control控件,同样也要对其属性进行设置:
| 属性名称 | 值 | 说明 |
| ID | IDC_REMOTEDATACTL1 | 控件ID |
| Caption | 人事管理系统--雇员表 | 设定导航条的标题 |
| UserName | 由于没有指定用户及密码,设为空 | |
| Password | 同上 | |
| SQL | SELECT * FROM | "雇员表" 待执行的SQL结构化查询语言 |
在RemoteData控件里用SQL语言将ODBC数据源的"雇员表"打开并选取里面的所有字段,也即显示表里的所有记录信息。这时再打开DBGird控件的DataSource属性就会发现下拉条里多了一个"IDC_REMOTEDATACTL1",正是RemoteData的ID号。此次编译运行程序就在网格控件内显示了数据源指定表的所有记录信息,而且可以方便的添加、删除记录以及调整字段尺寸等。具体如图所示:
![]() |
运行结果表明,在RemoteData控件的中介作用下实现了DBGird控件同ODBC数据源之间的交互。该程序设计实现过程是可靠、实用的。
小结:
DBGrid数据网格控件以其短小精悍而深受大家的喜爱,,本文将在VC下使用DBGrid的具体步骤和方法作了简要地介绍。其它类似的表格控件也可以大致参考这个过程,希望本文能有所启迪与帮助。在Windows 2000 Professional下,由Microsoft Visual C++ 6.0编译测试通过。后台数据源为Microsoft Access 2000。
全站资源
- 微软官方入门教程19:轻松掌握Vista系统的快
- 微软2008大冲击,预借Vista SP1力促Vista市
- 在收件箱中获得 Windows Vista 的最新更新
- 微软官方Vista入门教程全集19篇(Vista学院
- Windows Vista 的成功将势不可挡
- 快快抛弃Vista,拥抱XP SP3!你觉得呢?
- 浅谈Vista系统关闭虚拟内存与使用内存盘加速
- 嘿嘿,按下键盘上面的三个键,马上让你的Vi
- Windows Vista的盗版率只有Windows XP的一半
- 3DMark和PCMark Vantage新版将只支持Vista系
阅读排行
- Borland 发布C++ Builder 2006 RAD 环境
- C/C++程序员应聘常见面试题深入剖析
- Visual C++常用数据类型转换详解
- C++中的 static 关键字
- 利用VC++实现局域网实时视频传输
- 浅谈C/C++内存泄漏及其检测工具
- 英国投票否决C++/CLI 微软强攻ISO标准受挫
- VC++下用MSComm控件实现串口通讯
- 伪随机数生成及在VC++中的实现
- VC++编程实现对波形数据的频谱分析
最新技术文档
- C++中用赋值形式op=取代单独形式op
- C++启蒙之用C++制作程序
- C++启蒙之C++中的类
- 解析C++/CLI之头文件、内联函数与数组
- C++启蒙之控制结构
- C++启蒙之注释符号
- 了解C++异常处理的系统开支
- C++语言学习之从结构到类
- C++中理解“传递参数”和异常之间的差异
- C++中禁止异常信息传递到析构函数外
专题教程
- 大话G游 专题:手机病毒揭密
- ARP攻击防范与解决方案 路由故障处理手册
- Picasa中文版_Picasa教程 专题:清除流氓软件
- Firefox专题 seo搜索引擎优化专区
- 重装Windows必知的事情 装机之必备软件大行动
病毒专杀栏

