Heim >Backend-Entwicklung >C++ >So kombinieren Sie Cin und Datenbank in C++

So kombinieren Sie Cin und Datenbank in C++

下次还敢
下次还敢Original
2024-04-28 18:45:291118Durchsuche

Cin in C++ kann über eine Datenbankschnittstellenbibliothek (wie MySQL Connector/C++ oder ODBC) mit der Datenbank kombiniert werden. Zu den spezifischen Schritten gehören: Installieren der Datenbankschnittstellenbibliothek; Erstellen einer Abfrageanweisung; Ausführen der Abfrageergebnisse;

So kombinieren Sie Cin und Datenbank in C++

Kombination aus cin und Datenbank in C++

Verwenden Sie cin in C++, um Benutzereingaben über die Befehlszeile zu lesen, während die Datenbank zum Speichern und Verwalten von Daten verwendet wird. Um cin mit einer Datenbank zu kombinieren, müssen Sie eine Datenbankschnittstellenbibliothek (z. B. MySQL Connector/C++ oder ODBC) verwenden.

Mit MySQL Connector/C++

  1. Installieren Sie die MySQL Connector/C++-Bibliothek.
  2. Fügen Sie die erforderlichen Header-Dateien in Ihren C++-Code ein.

    <code class="cpp">#include <iostream>
    #include <mysqlx/xdevapi.h></code>
  3. Stellen Sie eine Datenbankverbindung her.

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

    <code class="cpp">std::string query = "SELECT * FROM table_name WHERE column_name = ?";</code>
  5. Binden Sie die Cin-Eingabe an Abfrageparameter.

    <code class="cpp">mysqlx::PreparedStatement stmt = session.prepare(query);
    std::string input;
    std::cin >> input;
    stmt.bind("column_name", input);</code>
  6. Führen Sie die Abfrage aus.

    <code class="cpp">mysqlx::Result res = stmt.execute();</code>
  7. Abfrageergebnisse abrufen.

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

Verwendung von ODBC

  1. Enthält die erforderlichen ODBC-Header-Dateien.

    <code class="cpp">#include <iostream>
    #include <sql.h>
    #include <sqlext.h></code>
  2. Stellen Sie eine Datenbankverbindung her.

    <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. SQL-Anweisungshandle erstellen.

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

    <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. Cin-Eingabe an SQL-Anweisung binden.

    <code class="cpp">std::string input;
    std::cin >> input;
    SQLSetParam(hstmt, 1, SQL_C_CHAR, input.c_str(), input.length(), nullptr);</code>
  6. SQL-Anweisungen ausführen.

    <code class="cpp">SQLExecute(hstmt);</code>
  7. Abfrageergebnisse abrufen.

    <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>

Das obige ist der detaillierte Inhalt vonSo kombinieren Sie Cin und Datenbank in C++. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn