C++ ADO封sqlserver实现查改增删
时间: 2023-08-11 07:06:49 浏览: 19
好的,以下是一个简单的 C++ ADO 封装示例代码,可以实现连接 SQL Server 数据库并进行增删改查操作。假设已经安装了 Microsoft ActiveX Data Objects 库。
```cpp
#include <iostream>
#include <comutil.h>
#include <windows.h>
#import "C:\Program Files\Common Files\System\ado\msado15.dll" no_namespace rename("EOF", "adoEOF")
using namespace std;
int main()
{
CoInitialize(NULL);
try
{
//连接字符串
_bstr_t connStr = "Provider=SQLOLEDB;Data Source=yourServerName;Initial Catalog=yourDatabaseName;User ID=yourUserName;Password=yourPassword";
//创建连接对象
ADODB::_ConnectionPtr pConn("ADODB.Connection");
//打开连接
pConn->Open(connStr, "", "", ADODB::adModeUnknown);
//查询数据
_bstr_t sql = "SELECT * FROM yourTableName";
ADODB::_RecordsetPtr pRs("ADODB.Recordset");
pRs->Open(sql, pConn.GetInterfacePtr(), ADODB::adOpenKeyset, ADODB::adLockOptimistic, ADODB::adCmdText);
while (!pRs->adoEOF)
{
cout << pRs->Fields->GetItem("columnName1")->Value.bstrVal << " " << pRs->Fields->GetItem("columnName2")->Value.bstrVal << endl;
pRs->MoveNext();
}
//插入数据
sql = "INSERT INTO yourTableName (columnName1, columnName2) VALUES ('value1', 'value2')";
pConn->Execute(sql, NULL, ADODB::adCmdText);
//更新数据
sql = "UPDATE yourTableName SET columnName1 = 'newValue1' WHERE columnName2 = 'value2'";
pConn->Execute(sql, NULL, ADODB::adCmdText);
//删除数据
sql = "DELETE FROM yourTableName WHERE columnName1 = 'value1'";
pConn->Execute(sql, NULL, ADODB::adCmdText);
//关闭连接
pRs->Close();
pConn->Close();
}
catch (_com_error& e)
{
cout << "Error: " << e.ErrorMessage() << endl;
}
CoUninitialize();
return 0;
}
```
请注意替换代码中的数据库连接信息和 SQL 语句中的表名、列名和值。另外,需要注意使用 `_bstr_t` 类型来处理字符串,并且使用 `_com_error` 类型来处理错误。
相关推荐

















