在C++中使用ADO(ActiveX Data Objects)庫來添加記錄,需要以下幾個步驟:
1. 引入頭文件和命名空間:
#include <iostream>#import "C:\Program Files\Common Files\System\ado\msado15.dll" no_namespace rename("EOF", "EndOfFile")
using namespace ADODB;
2. 創建數據庫連接對象和記錄集對象:
_ConnectionPtr pConn = NULL;_RecordsetPtr pRs = NULL;
try {
// 創建連接對象
HRESULT hr = pConn.CreateInstance(__uuidof(Connection));
if (FAILED(hr)) {
throw std::runtime_error("Failed to create connection object.");
}
// 打開數據庫連接
pConn->Open("Provider=SQLOLEDB;Data Source=your_server;Initial Catalog=your_database;User ID=your_username;Password=your_password;", "", "", adConnectUnspecified);
// 創建記錄集對象
hr = pRs.CreateInstance(__uuidof(Recordset));
if (FAILED(hr)) {
throw std::runtime_error("Failed to create recordset object.");
}
} catch (const std::exception& e) {
std::cout << "Exception: " << e.what() << std::endl;
return 1; // 發生異常時返回錯誤代碼
}
3. 編寫SQL語句并執行:
try {// 插入記錄的SQL語句
std::wstring sql = L"INSERT INTO TableName (Column1, Column2, ...) VALUES ('Value1', 'Value2', ...)";
// 執行SQL語句
pRs->Open(sql.c_str(), _variant_t((IDispatch*)pConn, true), adOpenStatic, adLockOptimistic, adCmdText);
std::cout << "Record added successfully." << std::endl;
} catch (const _com_error& e) {
std::cout << "COM Error: " << e.ErrorMessage() << std::endl;
return 1; // 發生錯誤時返回錯誤代碼
}
4. 關閉連接和釋放資源:
pRs->Close();pConn->Close();
::CoUninitialize();
上述代碼使用了C++中的ADODB庫來添加記錄。你需要根據你的數據庫類型、數據庫服務器地址、數據庫名稱、用戶名和密碼等信息,修改連接字符串(connection string)中的相關參數。同時,你還需要替換TableName、Column1、Value1等為實際的表名、列名和要插入的值。