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;
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++
Sertakan fail pengepala yang diperlukan dalam kod C++ anda.
#include <iostream> #include <mysqlx/xdevapi.h>
Wujudkan sambungan pangkalan data.
mysqlx::Session session("host", "port", "user", "password", "database");
Buat pernyataan pertanyaan.
std::string query = "SELECT * FROM table_name WHERE column_name = ?";
Ikat input cin pada parameter pertanyaan.
mysqlx::PreparedStatement stmt = session.prepare(query); std::string input; std::cin >> input; stmt.bind("column_name", input);
Lakukan pertanyaan.
mysqlx::Result res = stmt.execute();
Dapatkan hasil pertanyaan.
for (auto row : res.fetchAll()) { std::cout << row[0].get<std::string>() << std::endl; }
Menggunakan ODBC
Termasuk fail pengepala ODBC yang diperlukan.
#include <iostream> #include <sql.h> #include <sqlext.h>
Wujudkan sambungan pangkalan data.
SQLHENV henv; SQLHDBC hdbc; SQLAllocEnv(&henv); SQLAllocConnect(henv, &hdbc); SQLDriverConnect(hdbc, nullptr, "DSN", SQL_NTS, nullptr, 0, nullptr, SQL_DRIVER_NOPROMPT);
Buat pemegang pernyataan SQL.
SQLHSTMT hstmt; SQLAllocStmt(hdbc, &hstmt);
Tetapkan pernyataan 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);
Ikat input cin pada pernyataan SQL.
std::string input; std::cin >> input; SQLSetParam(hstmt, 1, SQL_C_CHAR, input.c_str(), input.length(), nullptr);
Laksanakan pernyataan SQL.
SQLExecute(hstmt);
Dapatkan hasil pertanyaan.
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; }
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!