怎样在程序中调用建立连接字符串的对话框

原创 2002年01月09日 10:50:00

在程序中有时候需要用到连接字符串,但是有可能在配置时要改变它,手工输入是容易错的,有了这个对话框,一切就简单了,但是这个对话框可不是一个api就能调出来的,偶查了查msdn再东抄抄西抄抄再自己发了一会儿呆些了下面的这个函数。里面的东西不用你看懂,把它copy下来用就行乐,当然能看懂最好了,找出错误来请发emailto:fantong77@hotmail.com.

BOOL GetConnectString(TCHAR *lpszConnectString,HWND hWndParent)
{
 CComPtr<IDBPromptInitialize> pIDBPromptInitialize=NULL;
 CComPtr<IDBProperties > pIDBProperties = NULL;
 CComPtr<IDataInitialize> spDataInit=NULL;
 CComBSTR bstrConnectString;
 
 HRESULT hr;
 // Create an instance of the Data Links component.
 hr=CoCreateInstance(CLSID_DataLinks, NULL, CLSCTX_INPROC_SERVER,
  IID_IDBPromptInitialize, (void **)&pIDBPromptInitialize);
 if (FAILED(hr))
  return FALSE;
 

 // Prompt the user for the provider and initialization properties.
 hr=pIDBPromptInitialize->PromptDataSource(NULL, hWndParent,
    DBPROMPTOPTIONS_PROPERTYSHEET, 0, NULL, NULL, IID_IDBProperties,
  (IUnknown **)&pIDBProperties);
 if (FAILED(hr))
  return FALSE;
 hr = CoCreateInstance(CLSID_MSDAINITIALIZE, NULL, CLSCTX_INPROC_SERVER,
   IID_IDataInitialize, (void**)&spDataInit);
 if (FAILED(hr))
  return FALSE;
 
 hr=spDataInit->GetInitializationString(pIDBProperties,true,&bstrConnectString);
 if (FAILED(hr))
  return FALSE;
 
 lstrcpy(lpszConnectString,(char*)_bstr_t(bstrConnectString));
 return TRUE;
 

}

参数说明,返回值为false,用户取消

第二个为out,输入连接字符串

第三个位in,父窗口

记住先要初始化com哦

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

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

MATLAB GUI对话框设计

MATLAB GUI对话框设计    dialog   创建对话框        errordlg 创建错误对话框         helpdlg 创建帮助对话框         ...
  • hehui211
  • hehui211
  • 2014年09月22日 14:06
  • 1220

MFC简单的在对话框程序中加工作线程

要写的代码非常少就不发工程了,步骤如下 建一个基于对话框工程,添加一个按钮,一个editbox,editbox绑定一个control变量c_edit 然后在oninitdialog中加int iIns...
  • a949308398
  • a949308398
  • 2013年11月28日 20:58
  • 853

制作一个基于MFC对话框的OpenGL类

今天写了个基于MFC对话框的OpenGL类:COpenGL,可以在对话框程序中使用OpenGL了,并且提供了全屏与非全屏转换的两个函数,很容易使用,速度快。  使用方法:在对话框上加一个Static控...
  • fxpopboy
  • fxpopboy
  • 2006年12月29日 19:21
  • 532

Winform添加App.config文件和调用连接字符串的两种写法

首先要在工程引用中导入System.Configuration.dll文件的引用。  1.App.config文件写法         调用...
  • zhaowei303
  • zhaowei303
  • 2013年12月24日 21:05
  • 821

ado连接字符串建立对话框

// dd.cpp : Defines the entry point for the console application.//#include "stdafx.h" #include "st...
  • axxbest
  • axxbest
  • 2009年12月30日 17:09
  • 178

用VC6.0建立MFC工程,建立对话框和简单的实现跳转

对话框的新建及跳转 点击File->New->Project->MFC AppWizard(exe)填写好路径和工程名称 选择dialog based。点击Finish。就新建好了。   右键...
  • liangyong_hui
  • liangyong_hui
  • 2016年06月30日 23:57
  • 3053

如何调用[建立ADO连接字符串对话框]?

我们做数据库应用程序时,经常需要动态建立数据库连接,您知道怎么做吗? 下面的代码会给你提供一些帮助,效果如图 01.HRESULT hr; 02.IDataSourc...
  • imxiangzi
  • imxiangzi
  • 2014年11月04日 10:43
  • 500

MFC对话框程序中使用OpenGL

在MFC的对话框程序中需要使用OpenGL在某个对话框中作图,综合和网上的两篇文章的内容(文章一,文章二),也有自己的心得体会。         首先需要配置好opengl的环境,程序中会使用到gla...
  • u012501459
  • u012501459
  • 2013年12月02日 13:50
  • 2256

在对话框中加入属性页的方法

当一个基于对话框的程序中有相当多的控件时,你一定会想到使用属性页来将这些控件分类放置。本文针对这种方法来讨论几种可能实现的方案。 方案一 本方案的例子请见源代码打包文件中的Property...
  • shaopengf
  • shaopengf
  • 2014年06月18日 20:31
  • 1922
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:怎样在程序中调用建立连接字符串的对话框
举报原因:
原因补充:

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