转至繁体中文版     | 网站首页 | 图文教程 | 资源下载 | 站长博客 | 图片素材 | 武汉seo | 武汉网站优化 | 
最新公告:     敏韬网|教学资源学习资料永久免费分享站!  [mintao  2008年9月2日]        
您现在的位置: 学习笔记 >> 图文教程 >> 软件开发 >> Delphi程序 >> 正文
Delphi深度探索-数据库明了的ActiveX控件         ★★★★

Delphi深度探索-数据库明了的ActiveX控件

作者:闵涛 文章来源:闵涛的学习笔记 点击数:1616 更新时间:2009/4/23 18:39:53

Delphi深度探索-数据库明了的ActiveX控件

    强大的数据库开发功能无疑是Delphi王冠上的明珠,至少有80%以上的人每天使用Delphi来开发数据库程序。基于积木式的VCL数据库控件,以及Dev Express和Woll2Woll等公司提供的强大的第三方数据库明了控件,毫不夸张的说只需要简单的设置一下属性,拖拉几下鼠标我们就可以非常快速的完成数据库程序的开发。由于Delphi的数据库功能过于强大了,所以很多人就忽视了一个事实,就是ActiveX同样可以提供灵活的数据库绑定,遗憾的是Delphi本身所提供的几个第三方的ActiveX控件中没有一个是数据库明了的控件,这间接导致了一个误解,使得很多人误以为Delphi并不支持数据明了的ActiveX控件(也包括很久以前的我J)。这当然是错误的看法。

    在Delphi中使用数据明了的ActiveX控件

    在下面的例子中,我们将使用随Office 2000安装到系统中的Microsoft Calendar 9.0控件来进行演示,它就是一个数据明了控件。选择Component | Import ActiveX Control,选择Microsoft Calendar 9.0(见下图1.12),把类名从TCalendar改成TAXCalendar,以避免同系统中原有的同名控件冲突,然后点Install按钮安装此控件。

图1.12

 

 

 

 

 

 

 

 

 

 

 

 

 


    新建一个程序,在窗体上放置一个TAXCalendar控件。再放上一个DataSource 和Table控件。设定DataSource的Dataset为Table1,然后设定Table1的DataBaseName 属性为DBDEMOS,TableName 属性为EMPLOYEE.DB,最后设定Table1.Active属性为True。

    接下来就该进行数据库绑定了,注意一下引入的TAXCalendar具有DataSource和DataBindings这两个同一般ActiveX控件不同的属性,这是因为ActiveX Import Wizard在引入ActiveX控件先判断是否是数据库明了的控件,如果是就以TDBOleControl作为基类进行继承,如果不是就从TOleControl开始继承。而TDBOleControl实现了DataBindings和DataSource属性。设定AXCalendar1.DataSource属性为Datasource1。

    这时我们在窗体上用鼠标右键单击TAXCalendar控件的话,会发现在右键菜单中多出了一个DataBindings…菜单项(见下图1.13)。

 

图1.13

 

 

 

 

 

 

 

 

 

 


    点击菜单项后,会显示数据绑定属性编辑框(见下图1.14)。分别在FieldName列表框中选定HireDate,在Property Name列表框中选择Value(12)(其中12是Value的Dispid号),点击Bind按钮,就会在数据库字段和Value属性间建立数据关联。

图1.14

 

 

 

 

 

 

 

 

 

 

 

 


    最后,再在窗体上放置一个DBGrid和DBNavigator控件,并设定它们的DataSource为DataSource1。运行程序,移动当前数据位置的时候,你可以注意到ActiveX的日期显示也会随之变化,同数据库中的Hiredate保持一致。如图1.15所示:

图1.15

 

 

 

 

 

 

 

 

 

 

 

 

 


    创建数据明了的ActiveX控件

虽然我们已经清楚了Delphi的确可以使用数据明了的ActiveX控件,那么一个新的问题就产生了,Delphi本身可不可以创建数据明了的ActiveX控件呢?由于Delphi提供了一步到位的ActiveX控件转换生成,就有很多人希望能够把Delphi中强大的数据库控件转换为ActiveX控件,以便能在其他支持ActiveX的开发环境开发数据库程序时仍然能够享受到象在Delphi中一样的轻松愉快的感觉。但是我在前面第一部分中已经提到了,由于Delphi的数据明了控件同ActiveX数据库控件的在内部机制上差距过大,因此Delphi无法简单的直接转换其强大的数据库控件。那么是不是就意味我们就没有办法了呢?of course not! 其实使用类型库编辑器,我们可以异常轻松的实现数据明了的ActiveX控件,就让我们用TEdit控件来试验一下,看看如何去做。

选菜单命令New | ActiveX | ActiveX Control启动ActiveX Control Convert Wizard,选TEdit控件作为转化对象,生成EditX ActiveX框架。

    接下来,我们将改造TEdit的Text属性,使其支持数据绑定。选 View | Type Library来察看Delphi生成的类型库,并选中Text属性,然后切换到Flags属性页(见下图1.16)。

 

图1.16

 

 

 

[1] [2]  下一页


[Delphi程序]DELPHI实现activex控件的限制  [Delphi程序]Delphi使用VB编写的ActiveX控件全攻略
[Delphi程序]Delphi使用VB6编写的ActiveX控件???  [Delphi程序]MediaPlayer9 ActiveX 攻略(原创)
[Delphi程序]Building ActiveX Controls with Delphi 3  [VB.NET程序]VB连接数据库时出现“ActiveX部件不能创建对象”
[Web开发]讲一讲ASP处理数据用的组件ADO (ActiveX Data Obj…  
教程录入:mintao    责任编辑:mintao 
  • 上一篇教程:

  • 下一篇教程:
  • 【字体: 】【发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口
      注:本站部分文章源于互联网,版权归原作者所有!如有侵权,请原作者与本站联系,本站将立即删除! 本站文章除特别注明外均可转载,但需注明出处! [MinTao学以致用网]
      网友评论:(只显示最新10条。评论内容只代表网友观点,与本站立场无关!)

    同类栏目
    · C语言系列  · VB.NET程序
    · JAVA开发  · Delphi程序
    · 脚本语言
    更多内容
    热门推荐 更多内容
  • 没有教程
  • 赞助链接
    更多内容
    闵涛博文 更多关于武汉SEO的内容
    500 - 内部服务器错误。

    500 - 内部服务器错误。

    您查找的资源存在问题,因而无法显示。

    | 设为首页 |加入收藏 | 联系站长 | 友情链接 | 版权申明 | 广告服务
    MinTao学以致用网

    Copyright @ 2007-2012 敏韬网(敏而好学,文韬武略--MinTao.Net)(学习笔记) Inc All Rights Reserved.
    闵涛 投放广告、内容合作请Q我! E_mail:admin@mintao.net(欢迎提供学习资源)

    站长:MinTao ICP备案号:鄂ICP备11006601号-18

    闵涛站盟:医药大全-武穴网A打造BCD……
    咸宁网络警察报警平台