ADO连接SQL Server数据库
来源:互联网 发布:淘宝砍价师怎么砍价的 编辑:程序博客网 时间:2024/04/29 02:10
转载至:http://blog.csdn.net/zhangkaihang/article/details/7502426
这篇文章不是介绍ADO连接数据库的原理的,而是写一下连接的步骤和简便方法。
一、获取连接字符串。
连接数据库时需要用到 _ConnectionPtr 对象的open方法,参数如下:
HRESULT Connection15::Open(_bstr_t ConnectionString, _bstr_t UserID, _bstr_t Password, _bstr_t Options)
在写这个ConnectionString连接字符串时,有的人感觉很困难,下面是一种简单的方法来获得这个连接字符串。
1.1 新建一个.udl的文件,打开,在提供的程序选项中选择Microsoft OLE DB Provider for SQL Server 然后下一步。如下图:
1.2 在连接中填写必要的信息后,点击测试连接,如果成功会出现如下图所示的提示框。
其中的服务器名称就是你SQL Server服务器的名称,如果不知道,可以在SQL Server中的服务器属性中看到,如下图:
二、下面贴出控制台程序,说明连接过程。
编译环境:Visual Studio 2010 旗舰版
注意点:
1、如果发现执行后结果中有显示乱码现象,请将工程属性中的字符集项设置为:使用多字节字符集或未设置。
2、注意程序中的连接字符串是适合我电脑数据库的,你要是测试的需修改为你自己(可以按照上面的方法来获得连接字符串)
- //导入一个ADO动态链接库msado15.dll
- #import "C:\Program Files\Common Files\System\ADO\\msado15.dll"
- #include <stdio.h>
- inline void TESTHR(HRESULT x) {if FAILED(x) _com_issue_error(x);};
- void ConnectionStringX(_ConnectionPtr pConnection); //连接数据库
- _bstr_t GetState(int intState); //得到连接状态
- void PrintProviderError(_ConnectionPtr pConnection); //输出错误
- void PrintComError(_com_error &e); //输出错误
- void ExitConnect(_ConnectionPtr pConnection); //关闭连接
- void main()
- {
- // 初始化OLE/COM库环境
- if(FAILED(::CoInitialize(NULL)))
- {
- return;
- }
- //创建连接对象
- _ConnectionPtr pConnection = NULL;
- ConnectionStringX(pConnection);
- ExitConnect(pConnection);
- // 释放环境
- ::CoUninitialize();
- }
- void ConnectionStringX(_ConnectionPtr pConnection)
- {
- HRESULT hr = S_OK;
- try
- {
- //ADO方式连接数据库
- TESTHR(pConnection.CreateInstance( __uuidof(Connection)));
- pConnection->ConnectionString = "Provider='SQLOLEDB';Data Source='SD-20120421UVIT\\SQLEXPRESS';"
- "Initial Catalog='master';Integrated Security='SSPI';";
- pConnection->ConnectionTimeout = 10;
- pConnection->Open("","","",adConnectUnspecified);
- printf("Connection1 state: %s\n",(LPCSTR)GetState(pConnection->State));
- }
- catch(_com_error &e)
- {
- //打印错误
- PrintProviderError(pConnection);
- PrintComError(e);
- }
- }
- //得到连接状态
- _bstr_t GetState(int intState)
- {
- _bstr_t strState;
- switch(intState)
- {
- case adStateClosed:
- strState = "adStateClosed";
- break;
- case adStateOpen:
- strState = "adStateOpen";
- break;
- default:
- ;
- }
- return strState;
- }
- //打印连接过程中的错误消息
- void PrintProviderError(_ConnectionPtr pConnection)
- {
- // 打印连接对象的发生的错误
- ErrorPtr pErr = NULL;
- if( (pConnection->Errors->Count) > 0)
- {
- long nCount = pConnection->Errors->Count;
- for(long i = 0; i < nCount; i++)
- {
- pErr = pConnection->Errors->GetItem(i);
- printf("Error number: %x\t%s\n", pErr->Number,(LPCSTR)pErr->Description);
- }
- }
- }
- //打印COM错误
- void PrintComError(_com_error &e)
- {
- _bstr_t bstrSource(e.Source());
- _bstr_t bstrDescription(e.Description());
- printf("Error\n");
- printf("\tCode = %08lx\n", e.Error());
- printf("\tCode meaning = %s\n", e.ErrorMessage());
- printf("\tSource = %s\n", (LPCSTR) bstrSource);
- printf("\tDescription = %s\n", (LPCSTR)bstrDescription);
- }
- //关闭连接
- void ExitConnect(_ConnectionPtr pConnection)
- {
- if (pConnection)
- if (pConnection->State == adStateOpen)
- pConnection->Close();
- }
- ado连接sql server 数据库
- ADO连接SQL Server数据库
- Sql server 数据库ADO连接
- ado 连接sql server数据库
- 利用ADO.NET连接SQl SERVER 数据库
- ADO.NET连接SQL Server数据库示例
- ADO.NET连接SQL Server数据库
- MFC通过ADO连接SQL SERVER数据库
- VC++使用ADO连接SQL Server数据库
- VC++使用ADO连接SQL Server数据库
- VC++使用ADO连接SQL Server数据库
- MFC ADO 连接SQL SERVER数据库
- ADO.NET连接SQL Server数据库
- 用ADO连接SQL Server数据库
- ADO.NET连接SQL Server数据库
- ADO连接SQL SERVER 2008数据库代码
- MFC使用ADO连接SQL Server数据库
- VC++使用ADO连接SQL Server数据库 .
- c# Regex常用
- Lisp语言:函数的可选参数,剩余参数以及关键字参数
- Android getevent/senevent
- TortoiseSVN 使用图解
- 关于全选按钮和复选框只能选中其中一个的js写法
- ADO连接SQL Server数据库
- 黑马程序员-动态代理
- Silverlight 5 Datafrom Template Bug
- 12个球一个天平,现知道只有一个和其它的重量不同,问怎样称才能用三次就找到那个球
- Facebook早期投资者赞助20名年轻人弃学创业(草根网)
- 在Windows Server 2008 X64中通过.NET程序调用32位com组件
- JAVA 通用克隆方法
- 新浪SAE开放独立域名绑定功能
- 关于undefined reference to 'gluPerspective' 解决方法