c++ 连接数据库
2015-10-25 16:16
260 查看
#include <icrsint.h> #include<iostream> #include<iomanip> #include <string> using namespace std; #import "c:\program files\common files\system\ado\msado15.dll" no_namespace rename("EOF", "adoEOF") void main() { CoInitialize(NULL); _ConnectionPtr sqlSp; HRESULT hr = sqlSp.CreateInstance(_uuidof(Connection)); if (FAILED(hr)) { cout << "_ConnectionPtr对象指针实例化失败!!!" << endl; return; } else { try { _bstr_t strConnect = "Driver={sql server};server=127.0.0.1,1433;uid=sa;pwd=123;database=test;"; sqlSp->Open(strConnect, "", "", adModeUnknown); } catch (_com_error &e) { cout << e.Description() << endl; } _RecordsetPtr m_pRecordset; if (FAILED(m_pRecordset.CreateInstance(_uuidof(Recordset)))) { cout << "记录集对象指针实例化失败!" << endl; return; } try { m_pRecordset->Open("select * from T_test2", (IDispatch*)sqlSp, adOpenDynamic, adLockOptimistic, adCmdText); } catch (_com_error &e) { cout << e.Description() << endl; } try { m_pRecordset->MoveFirst(); while (!m_pRecordset->adoEOF) { string id = (char*)(_bstr_t)(m_pRecordset->Fields->GetItem(_variant_t("id"))->Value); cout << id ; string name = (char*)(_bstr_t)(m_pRecordset->Fields->GetItem(_variant_t("name"))->Value); cout << name ; string age = (char*)(_bstr_t)(m_pRecordset->Fields->GetItem(_variant_t("age"))->Value); cout << age << endl; m_pRecordset->MoveNext(); } } catch (_com_error &e) { cout << e.Description() << endl; } } system("pause"); }
相关文章推荐
- QT-利用C++仿制windown自带的记事本程序V1.0
- C++多态和虚表(详细)
- C++的一道变态题
- 黑马程序员——OC语言日志——NSArray的介绍和使用
- java中import 与c/c++中的include
- Effective C++:条款38:通过一个复杂的模具has-a要么“基于一些实现”
- 黑马程序员——OC语言日志——NSString字符串的截取、替换,数据类型转换等一些用法
- C++初始化和引用
- 用两个栈实现队列 c++ 9度题目号1512
- C/C++专项练习 (四)
- [C++] Lvalue and Rvalue Reference
- 通过重载new与delete运算符避免向系统重复申请内存从而提高程序运行效率的办法
- 预编译头文件来自编译器的早期版本,或者预编译头为 C++ 而在 C 中使用它(或相反)
- 有趣的C语言小程序
- * &
- 关于c语言指针的学习总结1
- 找到数组中重复的和丢失的元素
- C语言<四> 函数与程序结构
- 有效的括号序列(LintCode)
- Heap(堆)学习——C语言描述