delphi7 中如何调用系统的“数据链接属性”来设置数据连接

原地址:http://blog.sina.com.cn/s/blog_56431652010000xt.html
我们都知道Windows系统有一个设置数据链接的标准对话框,而我们许多程序都需要直接和各种数据源打交道,但对各种系统各种情况下的连接串设置和格式不太熟悉,那么在自己的程序中如果能够直接调用这个系统的数据链接设置的标准对话框来设置自己程序的数据源连接环境就是十分完美的一个方案。


图1 系统的数据连接设置对话框
  其实微软已经公开这个API,不过是使用COM对象开发使用,这种在各种开发语言中都是十分容易调用的。本文主要通过Delphi7来演示这个标准的数据连接对话框的使用。
  Windows系统中这个数据连接设置功能封装在“Microsoft OLE DB Service Component Type Library”COM组件库中,由于这个库的许多接口依赖与ADO类型,因此还要关联依赖ADO COM组件库“Microsoft ActiveX Data Objects Library”。即你的程序中需要引入这两个类型库,才能使用这个功能。在Delphi中,我们使用“Project->Import Type Library...”功能引入前面的两个类型库。
 
  Delphi中类型库引入
 
  引入以上两个库中,Delphi会生成这两个COM组件类型的Delphi语言的包装类型,那么在我们的程序中就可以通过这些包装类使用这些组件库中COM组件了。下面就是一个按钮中的事件处理,主要就是返回一个全新的连接串或修改一个已有的连接串。其中MSDASC_TLB,ADODB_TLB就是前面引入的连个类型库。 TDataLinks.PromptNew 创建新的连接,而TDataLinks.PromptEdit修改已有的连接。自己赶快试试吧!
 

uses MSDASC_TLB,ADODB_TLB;
{$R *.dfm}
procedure TfrmMain.btnConnStrClick(Sender: TObject);
Var
  dsLink : TDataLinks;
  conn : _Connection;
  connStr : string;
begin
  dsLink := TDataLinks.Create(nil);
  connStr := mmoDBConnStr.Text;
  if length(Trim(connStr)) > 0 then
    begin
      try
        conn := CoConnection.Create();
        conn.Open(connStr,'','',0);
      finally
        if conn.State <> 1 then
          conn := nil;
      end;
    end;
  if conn = nil then
    begin
      conn := dsLink.PromptNew() as _Connection;
      if conn <> nil then
        mmoDBConnStr.Text  := conn.ConnectionString;
    end
  else
    begin
      if dsLink.PromptEdit(IDispatch(conn)) then
        mmoDBConnStr.Text  := conn.ConnectionString;
    end;
  conn := nil;
  dsLink := nil;
end;

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值