c++读取sql数据库
时间: 2023-11-28 08:05:37 浏览: 71
要在C语言中读取SQL数据库,您可以使用ADO(ActiveX Data Objects)库来实现。首先,在头文件stdafx.h中包含以下代码:
#import "C:/Program Files (x86)/Common Files/System/ado/msado15.dll" no_namespace rename("EOF", "adoEOF") rename("BOF", "FirstOfFile")
然后,在你的代码中使用ADO对象来连接和读取数据库。以下是一个示例代码片段:
```c
#include <stdio.h>
#include <windows.h>
#include <conio.h>
#include <comutil.h>
#include <atlbase.h>
#include <comdef.h>
#include <string>
using namespace std;
int main()
{
// 初始化COM库
CoInitialize(NULL);
// 创建ADO对象
_ConnectionPtr pConn;
HRESULT hr = pConn.CreateInstance(__uuidof(Connection));
// 连接数据库
_bstr_t strConn = "Provider=SQLOLEDB;Data Source=(local);Initial Catalog=YourDatabaseName;User ID=YourUsername;Password=YourPassword;";
hr = pConn->Open(strConn, "", "", adConnectUnspecified);
// 执行SQL查询
_RecordsetPtr pRs;
_bstr_t strSql = "SELECT * FROM YourTableName";
hr = pRs->Open(strSql, _variant_t((IDispatch*)pConn, true), adOpenStatic, adLockReadOnly, adCmdText);
// 读取数据
while (!pRs->adoEOF)
{
_bstr_t strField1 = pRs->Fields->GetItem("Field1")->Value;
_bstr_t strField2 = pRs->Fields->GetItem("Field2")->Value;
// 在这里处理你的数据
printf("%s, %s\n", (char*)_bstr_t(strField1), (char*)_bstr_t(strField2));
pRs->MoveNext();
}
// 关闭数据库连接
pRs->Close();
pConn->Close();
// 释放COM资源
pRs = NULL;
pConn = NULL;
CoUninitialize();
return 0;
}
```
上述代码创建了一个ADO连接对象和一个记录集对象。通过执行SQL查询并遍历记录集,您可以从数据库中读取数据。
相关推荐
![docx](https://img-home.csdnimg.cn/images/20210720083331.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)