Maison >développement back-end >C++ >Comment combiner cin et base de données en C++
Cin en C++ peut être combiné avec la base de données via une bibliothèque d'interface de base de données (telle que MySQL Connector/C++ ou ODBC). Les étapes spécifiques comprennent : l'installation de la bibliothèque d'interface de base de données ; l'établissement d'une connexion à la base de données ; la création d'une instruction de requête ; la liaison de l'entrée cin aux paramètres de requête ;
Combinaison de cin et de base de données en C++
Utilisez cin en C++ pour lire les entrées de l'utilisateur à partir de la ligne de commande, tandis que la base de données est utilisée pour stocker et gérer les données. Pour combiner cin avec une base de données, vous devez utiliser une bibliothèque d'interface de base de données (telle que MySQL Connector/C++ ou ODBC).
Utilisation de MySQL Connector/C++
Incluez les fichiers d'en-tête nécessaires dans votre code C++.
<code class="cpp">#include <iostream> #include <mysqlx/xdevapi.h></code>
Établissez une connexion à la base de données.
<code class="cpp">mysqlx::Session session("host", "port", "user", "password", "database");</code>
Créez des instructions de requête.
<code class="cpp">std::string query = "SELECT * FROM table_name WHERE column_name = ?";</code>
Liez l'entrée cin aux paramètres de requête.
<code class="cpp">mysqlx::PreparedStatement stmt = session.prepare(query); std::string input; std::cin >> input; stmt.bind("column_name", input);</code>
Exécutez la requête.
<code class="cpp">mysqlx::Result res = stmt.execute();</code>
Obtenez les résultats de la requête.
<code class="cpp">for (auto row : res.fetchAll()) { std::cout << row[0].get<std::string>() << std::endl; }</code>
Utilisation d'ODBC
Comprend les fichiers d'en-tête ODBC nécessaires.
<code class="cpp">#include <iostream> #include <sql.h> #include <sqlext.h></code>
Établissez une connexion à la base de données.
<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>
Créez un handle d'instruction SQL.
<code class="cpp">SQLHSTMT hstmt; SQLAllocStmt(hdbc, &hstmt);</code>
Définir l'instruction 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>
Liez l'entrée cin à l'instruction SQL.
<code class="cpp">std::string input; std::cin >> input; SQLSetParam(hstmt, 1, SQL_C_CHAR, input.c_str(), input.length(), nullptr);</code>
Exécutez des instructions SQL.
<code class="cpp">SQLExecute(hstmt);</code>
Obtenez les résultats de la requête.
<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>
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!