ADO连接本机本地SQLSERVER数据库[基本]
2012-12-21 17:35
246 查看
#include "stdafx.h" #include <iostream> int _tmain(int argc, _TCHAR* argv[]) { _ConnectionPtr m_pConnection; _RecordsetPtr m_pRecordset; // _CommandPtr m_pCommand; // _ParameterPtr m_pParameter; ::CoInitialize(NULL); try { HRESULT hr = 0; hr = m_pConnection.CreateInstance(__uuidof(Connection)); if (FAILED(hr)) { throw std::exception("m_pConnection.CreateInstance errorr!"); } hr = m_pConnection->Open("Provider=SQLOLEDB;Data Source=LIYOUHONG\\SQLEXPRESS;Initial Catalog=MyTestConnection;Integrated Security=SSPI;","","",adModeUnknown); if (FAILED(hr)) { throw std::exception("m_pConnection->Open error"); } hr = m_pRecordset.CreateInstance(__uuidof(Recordset)); if (FAILED(hr)) { throw std::exception("m_pRecordset.CreateInstance error"); } m_pRecordset->CursorLocation = adUseClient; m_pRecordset->PutActiveConnection(m_pConnection.GetInterfacePtr()); _bstr_t strSql = "select * from TestTable1"; hr = m_pRecordset->Open(_bstr_t(strSql), vtMissing, adOpenDynamic, adLockBatchOptimistic, adCmdText); if (FAILED(hr)) { throw std::exception("m_pRecordset->Open error"); } _variant_t RecordsAffected; while (!m_pRecordset->adoEOF) { RecordsAffected = m_pRecordset->GetCollect(_variant_t((long)0)); m_pRecordset->MoveNext(); } } catch (_com_error e) { cout<<e.ErrorMessage()<<endl; } catch(std::exception& e) { cout<<e.what()<<endl; } m_pRecordset->Close(); m_pConnection->Close(); ::CoUninitialize(); return 0; }
stdafx.h中需要加入的语句
#import "c:/program files/common files/system/ado/msado15.dll" no_namespace rename("EOF", "adoEOF")
注意事项:
1. 一开始先在工程中立刻加入 #import "c:/program files/common files/system/ado/msado15.dll" no_namespace rename("EOF", "adoEOF"),然后进行编译,在debug(如果配置是debug)下会生成msado15.tlh和msado15.tli这两个文件,然后把这两个文件放入工程目录下,加入工程,如此那些_ConnectionPtr,_RecordsetPtr才会有定义可找。(至少我是这样做的,不知其他人是不是可以直接成功)
2. 连接数据库时这里使用的是“可信任连接”方式,就是使用windows的身份认证,如果你是用当前用户安装的sqlserver实例,则就可以直接连接成功。其他方式还有网络模式,一般模式,尚未做过试验。
3. 执行时把Data Source改成自己的sqlserver实例名称。
4. 以上代码也属于本人网上查找,然后东拼西凑而来,仅供参考,不当之处,望不吝赐教。
相关文章推荐
- C#连接SQLServer数据库基本实现
- VC使用ADO连接SQLServer数据库
- ADO.NET连接数据库,及基本操作
- [转载]C#中使用ADO.NET连接SQL Server数据库,自动增长字段用作主键,处理事务时的基本方法
- .net 连接SqlServer数据库及基本增删改查
- 解决ADO通过指定IP地址连接到SQLServer数据库时总是失败问题
- VB语言使用ADO连接、操作SQLServer数据库教程
- C#进阶ADO.NET基础一 基本概念、数据库连接操作基础
- [转载]SQL基本语句用法(用ADO连接数据库用的)
- 黑马程序员之ADO.NET学习笔记:ADO.NET连接SQLSERVER数据库
- VC使用ADO连接SQLServer数据库
- ADO连接SQLServer数据库的连接字
- ADO连接sqlserver数据库,CreateInstance返回 REGDB_E_CLASSNOTREG Class not registered
- MFC使用ADO连接SQLServer数据库
- Ado 连接数据库 Sql Server2000 及基本数据库操作
- 详解MFC使用ADO连接SQLServer数据库
- ADO.NET连接SQLServer数据库
- [原创]C#中使用ADO.NET连接SQL Server数据库,自动增长字段用作主键,处理事务时的基本方法
- 关于C# Ado.NET连接数据库操作基本实例模板
- 转:VB用ADO连接SQLServer数据库