C++ ADO连接sqlserver数据库的头文件、源文件和主函数调用
时间: 2024-01-30 08:02:01 浏览: 147
连接sqlserver数据库需要使用ADO(ActiveX Data Objects)技术,以下是C++ ADO连接sqlserver数据库的头文件、源文件和主函数调用示例:
头文件:
```c++
#include <iostream>
#include <windows.h>
#import "C:\Program Files\Common Files\System\ado\msado15.dll" no_namespace rename("EOF", "adoEOF")
```
源文件:
```c++
using namespace std;
int main() {
// 定义ADO相关变量
_ConnectionPtr pConn;
_RecordsetPtr pRs;
HRESULT hr;
// 初始化COM库
CoInitialize(NULL);
try {
// 创建连接对象
hr = pConn.CreateInstance(__uuidof(Connection));
if (FAILED(hr)) {
throw _com_error(hr);
}
// 打开数据库连接
pConn->Open("Provider=SQLOLEDB;Data Source=localhost;Initial Catalog=MyDB;User Id=sa;Password=123456;", "", "", adModeUnknown);
// 创建记录集对象
hr = pRs.CreateInstance(__uuidof(Recordset));
if (FAILED(hr)) {
throw _com_error(hr);
}
// 执行SQL查询语句
pRs->Open("SELECT * FROM MyTable", pConn.GetInterfacePtr(), adOpenStatic, adLockReadOnly, adCmdText);
// 遍历记录集并输出结果
while (!pRs->adoEOF) {
cout << pRs->Fields->GetItem("ID")->Value.intVal << "\t" << pRs->Fields->GetItem("Name")->Value.bstrVal << endl;
pRs->MoveNext();
}
// 关闭记录集
if (pRs != NULL) {
pRs->Close();
pRs.Release();
}
// 关闭数据库连接
if (pConn != NULL) {
pConn->Close();
pConn.Release();
}
}
catch (_com_error e) {
// 输出错误信息
cout << "Error: " << e.Description() << endl;
}
// 释放COM库
CoUninitialize();
return 0;
}
```
主函数调用:
```c++
int main() {
// 调用连接数据库函数
connectDB();
return 0;
}
```
以上是一个简单的C++ ADO连接sqlserver数据库的示例代码,具体的连接字符串和SQL查询语句需要根据实际情况进行调整。
阅读全文