在编程中调用OLEDB的数据连接属性对话框

原创 2003年08月03日 11:34:00

原文作者:Tony Johnson and Chris Wilcock

 <?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />

译者的话:本文主要谈论了如何使用OLEDB的数据连接属性对话框(Data Link Properties),根据用户的选择,使用动态得到的连接字符串,配置ADO的数据源。

 

OLEDB的数据连接配置对话框如下图所示:

<?xml:namespace prefix = v ns = "urn:schemas-microsoft-com:vml" />CSDN_Dev_Image_2003-8-3239040.gif

程序编译环境:VC6, MDAC 2.1 ( ADO 2.1 ), Win9x / NT

介绍 Introduction

我最近在我的使用ADO应用程序中需要容许用户能够根据自己的需要配置一个连接串。搜索了最近的文档之后,发现没有任何关于怎样实现这个的信息。除了当从MDAC2.02.1过渡时,知识库中文章(Q225132)描述了一个使用#import声明的问题。这个刺激了我来写一篇文章来演示如何使你在你的应用程序中使用OLE DB的数据连接属性对话框。

这个数据连接对话框包含在OLEDB32.DLL(在MDAC2.1,MDAC2.1中在MSDASC.DLL)。他已经非常容易使用了。通过创建一个IdataSourceLocator接口实例,你就可以弹出这个对话框,并且快速的配置ADO数据源。

好了,让我们来看一看怎样实现他呢?我已经创建了一个简单的控制台程序工程,来演示如何做到这一点,在文章末,可以通过连接下载这个工程文件。

输入类型库 Importing the type libraries

首先,装入工程并打开一个源文件(datalink.cpp)。在这个源文件中,我已经很好的注释了其中的语句,因此你可以很容易的读懂它。但是那儿仍有些关键的点。

头文件顶端的#import声明语句将告诉编译器生成一些文件,以使得我们使用数据连接和ADO对象的智能指针。这些输入声明语句也容许我们使用ADO对象,最重要的是对于本文所说的数据连接属性对话框。

显示数据连接属性对话框 Displaying the Data Link Properties Dialog

main()函数包含了一些代码,这些代码的作用是让我们装入或者保存一个预定义的连接字符串。我假定你已经对于IO类很熟悉了,因此我将略过这个部分,这部分只是演示给你在显示这个数据连接属性对话框时使用预定义的连接字符串。

例如,如下的代码段告诉你怎样显示这个对话框,来创建一个新的连接字符串(错误检查已经被移除)

 


PromptNew函数的功能就是显示一个新的要求用户健入所有参数的对话框,在返回时,p_conn即可以是NULL,这是当用户点击了取消按钮,也可以是包含一个创建好的连接(Connection)对象,根据用户的选择,这个对象的数据成员ConnectionString被设定为ADO的连接字符串。

要显示一个基于已经存在的连接串,这个有点令人费解。下面是一个例子。

p_Dispatch->Release();

 

可以编辑的版本需要另外的一些步骤。第一,你需要创建一个连接对象(Connection Object)并设定它的连接串,然后使用QueryInterface转化成一个IDispatch指针,最后传递到PromptEdit函数。

PromptEdit返回一个BOOL值,如果用户点击OK,那么返回TRUE,否则返回FALSE。如果是TRUE的话,p_conn对象的ConnectionString属性将被设定为新的用户定义的连接参数。

 

警告

我使用这些函数包括使用注册表来存贮和重新得到连接串。将这些函数增加到你的应用程序中,你就可以让用户能够容易的配置他们ADO的数据源。我希望他对你会有所帮助…他确实对我有帮助。

Downloads

Download source - 43 Kb

C#中点击一个按钮后,弹出“数据连接属性”对话框

先添加引用: 1.COM组件 Microsoft ActiveX Data Objects 2.7 Library 的引用 2.COM组件 Microsoft OLE DB Service Compo...
  • hyb1234hi
  • hyb1234hi
  • 2015年04月07日 17:16
  • 226

MFC对话框编程详细学习笔记

因最近研究工作要用到MFC,故再次重温了孙鑫老师的MFC对话框编程,因所用的编译软件为VS2008,与视频中孙老师使用的VC++6.0有很大出入,造成很大不便,我通过各方查找,实现了VS2008相对应...
  • Bright_Geek
  • Bright_Geek
  • 2014年10月25日 20:29
  • 2822

C#编程中使用数据连接属性对话框

转自:http://blog.163.com/bxs_sky/blog/static/9446477720118312231662/ C#编程中使用数据连接属性对话框   ...
  • MasterLonely
  • MasterLonely
  • 2013年06月06日 06:57
  • 1054

C#调用“数据链接属性”对话框 显示所有表与所有用户

本段应用于网络:“数据链接属性”对话框可提供数据链接字符串,要用C#编程调用“数据链接属性”对话框:添加两个dll引用,包括一个.Net库adodb.dll和一个COM库oledb32.dll(Mic...
  • lillllllll
  • lillllllll
  • 2010年03月06日 17:20
  • 1195

在一个对框框中调用另一个对话框的变量

void Footy::OnBnClickedBtnArefresh() {  // TODO: 在此添加控件通知处理程序代码  UpdateData(TRUE);  CSetting* pS...
  • ilikehigame
  • ilikehigame
  • 2014年04月25日 16:37
  • 809

VC++ 实战OLEDB编程(一)

很久没有写点新的东西了,最近实在是非常的忙,也没有时间去料理自己的博客,今天总算是休息一下,写点东西,算是给自己交个差吧。 这次我准备系统的介绍下OLEDB编程的一些内容。OLEDB作为目前最全面,...
  • u014038143
  • u014038143
  • 2017年10月10日 14:17
  • 160

OLEDB 接口 详解

OLE DB(OLEDB)是微软的战略性的通向不同的数据源的低级应用程序接口。OLE DB不仅包括微软资助的标准数据接口开放数据库连通性(ODBC)的结构化查询语言(SQL)能力,还具有面向其他非...
  • hezhiyong_6012
  • hezhiyong_6012
  • 2014年05月11日 20:41
  • 525

VC++上位机编程学习总结2-属性页对话框

学习资料:Visual c++ 2010开发权威指南4.2.3. 学习对象:OnInitDialog()函数。 在给性别组合框添加OnInitDialog()函数时,应按选中控件->右键->类向导->...
  • djsin13
  • djsin13
  • 2016年01月06日 22:57
  • 165

如何在一个对话框中调用另一个对话框里的变量

问:如何在一个对话框中使用另一个对话框中的变量? 若有两个对话框,在一个对话框中定义了一个串口类的变量,在切换到另一个对话框时我还想使用这个变量对串口进行操作,该如何使用呢?  ------解...
  • andy5zhu
  • andy5zhu
  • 2013年12月15日 14:06
  • 1487

MFC-对话框间的互相调用及数据传递(模态对话框)

实现简版的程序登录功能。 1、通过MFC可视化编辑框完成主对话框的界面设计。 2、为显示登录结果的静态文本(即“密码正确”、“密码错误”文本)绑定CString类型的变量m...
  • sinat_32582203
  • sinat_32582203
  • 2017年06月14日 18:24
  • 393
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:在编程中调用OLEDB的数据连接属性对话框
举报原因:
原因补充:

(最多只允许输入30个字)