在VC中编写程序自动查找SQLServer2000连接字符串

    在VC中连接数据库是很常见的事情,在刚开始学习的时候,遇到一个问题,就是不清楚如何设置同SQLServer2000的连接字符串,在网上找了好多也没用,后来在一个视频中有了一个启发,通过一个编程可以自动获取到这个连接字符串,很是高兴,将程序介绍如下:

   首先通过MFCAppWizard(exe)建立一个单文档应用程序,取名为:linkSQL,在第六步时将基类选择为CFormView.

先在窗口上拖放一个BUTTON,ID设为:IDC_SOURCE,后拖放一个编辑控件,ID设为:IDC_CONNECTION_STRING,用于显示连接字符串。

  下一步在头文件 StdAfx.h中添加代码如下,主要是引入ado库和Ole DB库

#import "C:/Program Files/Common Files/System/ado/msado15.dll" no_namespace  rename("EOF","adoEOF")
#import "C:/Program Files/Common Files/System/Ole DB/oledb32.dll"  no_namespace

 

然后对编辑控件IDC_CONNECTION_STRING关联一个变量m_strConnection,类型选为 Value

 

接着双击BUTTON,进入代码编写区,编写代码如下:

 

 void CLinkSQLView::OnSource() { // TODO: Add your control notification handler code here HRESULT hr; IDataSourceLocatorPtr m_dlPrompt=NULL; _ConnectionPtr m_Conn=NULL; ::CoInitialize(NULL); hr=m_dlPrompt.CreateInstance(_uuidof(DataLinks)); m_Conn=m_dlPrompt->PromptNew(); if(m_Conn!=NULL) { m_strConnection.Format ("%s" ,(char*)m_Conn->ConnectionString); UpdateData(FALSE); } }

 

 

后运行程序,点击按钮会出现如图所示:

 

    

选中Microsoft OLE DB Provider for SQL Server,点击下一步,进入下图:

在1中从下拉列表中选中自己的服务器名字,2中选中“使用WindowsNT集成安装” 3选择自带的Northwind数据库,点击“测试连接”就会弹出一个对话框显示是否连接成功。

 最后点击确定就生成一个连接字符串并显示在编辑控件中。

 

 

最后的连接字符串显示为:

Provider=SQLOLEDB.1;Integrated Security=SSPI;Persist Security Info=False;Initial Catalog=Northwind;Data Source=JIANGSHENG

 

下面我将会用自动生成的连接字符串来连接SQLServer数据库,以测试它的正确性。

你可能感兴趣的:(经验总结,sqlserver,microsoft,security,sql,server,数据库,button)