>백엔드 개발 >C++ >C++에서 cin과 데이터베이스를 결합하는 방법

C++에서 cin과 데이터베이스를 결합하는 방법

下次还敢
下次还敢원래의
2024-04-28 18:45:291114검색

C++의 Cin은 데이터베이스 인터페이스 라이브러리(예: MySQL 커넥터/C++ 또는 ODBC)를 통해 데이터베이스와 결합할 수 있습니다. 구체적인 단계에는 데이터베이스 인터페이스 라이브러리 설치, 쿼리 문 생성, 쿼리 매개변수에 대한 바인딩 및 쿼리 결과 획득이 포함됩니다.

C++에서 cin과 데이터베이스를 결합하는 방법

C++에서 cin과 데이터베이스의 결합

C++에서 cin을 사용하여 명령줄에서 사용자 입력을 읽고, 데이터베이스는 데이터를 저장하고 관리하는 데 사용됩니다. cin을 데이터베이스와 결합하려면 데이터베이스 인터페이스 라이브러리(예: MySQL 커넥터/C++ 또는 ODBC)를 사용해야 합니다.

MySQL 커넥터/C++ 사용

  1. MySQL 커넥터/C++ 라이브러리를 설치합니다.
  2. C++ 코드에 필요한 헤더 파일을 포함하세요.

    <code class="cpp">#include <iostream>
    #include <mysqlx/xdevapi.h></code>
  3. 데이터베이스 연결을 설정하세요.

    <code class="cpp">mysqlx::Session session("host", "port", "user", "password", "database");</code>
  4. 쿼리 문을 만듭니다.

    <code class="cpp">std::string query = "SELECT * FROM table_name WHERE column_name = ?";</code>
  5. cin 입력을 쿼리 매개변수에 바인딩합니다.

    <code class="cpp">mysqlx::PreparedStatement stmt = session.prepare(query);
    std::string input;
    std::cin >> input;
    stmt.bind("column_name", input);</code>
  6. 쿼리를 실행합니다.

    <code class="cpp">mysqlx::Result res = stmt.execute();</code>
  7. 쿼리 결과를 가져옵니다.

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

ODBC 사용

  1. 필요한 ODBC 헤더 파일을 포함합니다.

    <code class="cpp">#include <iostream>
    #include <sql.h>
    #include <sqlext.h></code>
  2. 데이터베이스 연결을 설정하세요.

    <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 문 핸들을 만듭니다.

    <code class="cpp">SQLHSTMT hstmt;
    SQLAllocStmt(hdbc, &hstmt);</code>
  4. 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. cin 입력을 SQL 문에 바인딩합니다.

    <code class="cpp">std::string input;
    std::cin >> input;
    SQLSetParam(hstmt, 1, SQL_C_CHAR, input.c_str(), input.length(), nullptr);</code>
  6. SQL 문을 실행합니다.

    <code class="cpp">SQLExecute(hstmt);</code>
  7. 쿼리 결과를 가져옵니다.

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

위 내용은 C++에서 cin과 데이터베이스를 결합하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.