C++ データベース接続:追加/削除/更新/検索の実装
C++でデータベースに接続して、追加、削除、更新、検索を行うためには、通常、ODBCやMySQL Connector/C++、SQLite C/C++などのデータベース接続ライブラリが必要です。以下は、ODBCを使用してデータベースに接続し、追加、削除、更新、検索を行うサンプルコードです。
#include <iostream>
#include <sql.h>
#include <sqlext.h>
int main() {
// 初始化ODBC环境
SQLHENV henv;
SQLAllocHandle(SQL_HANDLE_ENV, SQL_NULL_HANDLE, &henv);
SQLSetEnvAttr(henv, SQL_ATTR_ODBC_VERSION, (SQLPOINTER)SQL_OV_ODBC3, 0);
// 连接数据库
SQLHDBC hdbc;
SQLAllocHandle(SQL_HANDLE_DBC, henv, &hdbc);
SQLConnect(hdbc, (SQLCHAR*)"DSN=YourDSN;UID=YourUID;PWD=YourPWD", SQL_NTS);
// 执行SQL语句
SQLHSTMT hstmt;
SQLAllocHandle(SQL_HANDLE_STMT, hdbc, &hstmt);
SQLExecDirect(hstmt, (SQLCHAR*)"SELECT * FROM YourTable", SQL_NTS);
// 处理查询结果
SQLCHAR buffer[256];
SQLBindCol(hstmt, 1, SQL_C_CHAR, buffer, sizeof(buffer), NULL);
while (SQLFetch(hstmt) == SQL_SUCCESS) {
std::cout << buffer << std::endl;
}
// 释放资源
SQLFreeHandle(SQL_HANDLE_STMT, hstmt);
SQLDisconnect(hdbc);
SQLFreeHandle(SQL_HANDLE_DBC, hdbc);
SQLFreeHandle(SQL_HANDLE_ENV, henv);
return 0;
}
この例では、まずODBC環境を初期化し、次にデータベースに接続し、SQLクエリを実行し、クエリの結果を処理し、最後にリソースを解放します。接続文字列、SQLステートメント、および結果の処理方法を自分の状況に合わせて変更することができます。また、他のデータベース接続ライブラリを使用して、CRUD操作を実装することもできます。