Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Bagaimana untuk menggabungkan cin dan pangkalan data dalam c++

Bagaimana untuk menggabungkan cin dan pangkalan data dalam c++

下次还敢
下次还敢asal
2024-04-28 18:45:291057semak imbas

Cin dalam C++ boleh digabungkan dengan pangkalan data melalui perpustakaan antara muka pangkalan data (seperti MySQL Connector/C++ atau ODBC). Langkah-langkah khusus termasuk: memasang pustaka antara muka pangkalan data membuat penyataan pertanyaan;

Bagaimana untuk menggabungkan cin dan pangkalan data dalam c++

Gabungan cin dan pangkalan data dalam C++

Gunakan cin dalam C++ untuk membaca input pengguna daripada baris arahan, manakala pangkalan data digunakan untuk menyimpan dan mengurus data. Untuk menggabungkan cin dengan pangkalan data, anda perlu menggunakan perpustakaan antara muka pangkalan data (seperti MySQL Connector/C++ atau ODBC).

Menggunakan MySQL Connector/C++

  1. Pasang pustaka MySQL Connector/C++.
  2. Sertakan fail pengepala yang diperlukan dalam kod C++ anda.

    <code class="cpp">#include <iostream>
    #include <mysqlx/xdevapi.h></code>
  3. Wujudkan sambungan pangkalan data.

    <code class="cpp">mysqlx::Session session("host", "port", "user", "password", "database");</code>
  4. Buat pernyataan pertanyaan.

    <code class="cpp">std::string query = "SELECT * FROM table_name WHERE column_name = ?";</code>
  5. Ikat input cin pada parameter pertanyaan.

    <code class="cpp">mysqlx::PreparedStatement stmt = session.prepare(query);
    std::string input;
    std::cin >> input;
    stmt.bind("column_name", input);</code>
  6. Lakukan pertanyaan.

    <code class="cpp">mysqlx::Result res = stmt.execute();</code>
  7. Dapatkan hasil pertanyaan.

    <code class="cpp">for (auto row : res.fetchAll()) {
        std::cout << row[0].get<std::string>() << std::endl;
    }</code>

Menggunakan ODBC

  1. Termasuk fail pengepala ODBC yang diperlukan.

    <code class="cpp">#include <iostream>
    #include <sql.h>
    #include <sqlext.h></code>
  2. Wujudkan sambungan pangkalan data.

    <code class="cpp">SQLHENV henv;
    SQLHDBC hdbc;
    
    SQLAllocEnv(&henv);
    SQLAllocConnect(henv, &hdbc);
    SQLDriverConnect(hdbc, nullptr, "DSN", SQL_NTS, nullptr, 0, nullptr, SQL_DRIVER_NOPROMPT);</code>
  3. Buat pemegang pernyataan SQL.

    <code class="cpp">SQLHSTMT hstmt;
    SQLAllocStmt(hdbc, &hstmt);</code>
  4. Tetapkan pernyataan SQL.

    <code class="cpp">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);</code>
  5. Ikat input cin pada pernyataan SQL.

    <code class="cpp">std::string input;
    std::cin >> input;
    SQLSetParam(hstmt, 1, SQL_C_CHAR, input.c_str(), input.length(), nullptr);</code>
  6. Laksanakan pernyataan SQL.

    <code class="cpp">SQLExecute(hstmt);</code>
  7. Dapatkan hasil pertanyaan.

    <code class="cpp">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;
    }</code>

Atas ialah kandungan terperinci Bagaimana untuk menggabungkan cin dan pangkalan data dalam c++. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn