首頁 > 後端開發 > C++ > c++中cin和資料庫怎麼結合

c++中cin和資料庫怎麼結合

下次还敢
發布: 2024-04-28 18:45:29
原創
1190 人瀏覽過

透過資料庫介面庫(如 MySQL Connector/C 或 ODBC),可將 C 中的 cin 與資料庫結合。具體步驟包括:安裝資料庫介面庫;建立資料庫連線;建立查詢語句;將 cin 輸入綁定到查詢參數;執行查詢;取得查詢結果。

c++中cin和資料庫怎麼結合

C 中cin 和資料庫的結合

在C 使用cin 從命令列讀取使用者輸入,而資料庫用於儲存和管理資料。要將 cin 與資料庫結合起來,需要使用資料庫介面庫(例如 MySQL Connector/C 或 ODBC)。

使用 MySQL Connector/C

  1. #安裝 MySQL Connector/C 函式庫。
  2. 在 C 程式碼中包含必要的頭檔。

    #include <iostream>
    #include <mysqlx/xdevapi.h>
    登入後複製
  3. 建立資料庫連線。

    mysqlx::Session session("host", "port", "user", "password", "database");
    登入後複製
  4. 建立查詢語句。

    std::string query = "SELECT * FROM table_name WHERE column_name = ?";
    登入後複製
  5. 將 cin 輸入綁定到查詢參數。

    mysqlx::PreparedStatement stmt = session.prepare(query);
    std::string input;
    std::cin >> input;
    stmt.bind("column_name", input);
    登入後複製
  6. 執行查詢。

    mysqlx::Result res = stmt.execute();
    登入後複製
  7. 取得查詢結果。

    for (auto row : res.fetchAll()) {
        std::cout << row[0].get<std::string>() << std::endl;
    }
    登入後複製

使用 ODBC

  1. #包含必要的 ODBC 頭檔。

    #include <iostream>
    #include <sql.h>
    #include <sqlext.h>
    登入後複製
  2. 建立資料庫連線。

    SQLHENV henv;
    SQLHDBC hdbc;
    
    SQLAllocEnv(&henv);
    SQLAllocConnect(henv, &hdbc);
    SQLDriverConnect(hdbc, nullptr, "DSN", SQL_NTS, nullptr, 0, nullptr, SQL_DRIVER_NOPROMPT);
    登入後複製
  3. 建立 SQL 語句句柄。

    SQLHSTMT hstmt;
    SQLAllocStmt(hdbc, &hstmt);
    登入後複製
  4. 設定 SQL 語句。

    std::string sql = "SELECT * FROM table_name WHERE column_name = ?";
    SQLBindParameter(hstmt, 1, SQL_PARAM_INPUT, SQL_C_CHAR, SQL_CHAR, 0, 0, nullptr, 0, nullptr);
    登入後複製
  5. 將 cin 輸入綁定到 SQL 語句。

    std::string input;
    std::cin >> input;
    SQLSetParam(hstmt, 1, SQL_C_CHAR, input.c_str(), input.length(), nullptr);
    登入後複製
  6. 執行 SQL 語句。

    SQLExecute(hstmt);
    登入後複製
  7. 取得查詢結果。

    SQLBindCol(hstmt, 1, SQL_C_CHAR, nullptr, 0, nullptr);
    
    while (SQLFetch(hstmt) == SQL_SUCCESS) {
        char buffer[1024];
        SQLGetData(hstmt, 1, SQL_C_CHAR, buffer, sizeof(buffer), nullptr);
        std::cout << buffer << std::endl;
    }
    登入後複製
#

以上是c++中cin和資料庫怎麼結合的詳細內容。更多資訊請關注PHP中文網其他相關文章!

相關標籤:
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
最新問題
linux安裝mysql報錯
來自於 1970-01-01 08:00:00
0
0
0
mysql 升級後無法重新啟動mysql服務的問題
來自於 1970-01-01 08:00:00
0
0
0
MySQL停止進程
來自於 1970-01-01 08:00:00
0
0
0
phpstudy不能啟動mysql?
來自於 1970-01-01 08:00:00
0
0
0
環境中mysql
來自於 1970-01-01 08:00:00
0
0
0
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板