sql >> データベース >  >> RDS >> Mysql

SELECTクエリで文字列を取得するMySQLC++コネクタ

    resから実際のフィールドをフェッチする必要があります 。簡単に拡張できる簡単な例を次に示します。

    #include <stdlib.h>
    #include <stdio.h>
    #include <stdio.h>
    #include <iostream>
    #include <string>
    
    #include <windows.h>
    #include <mysql/mysql.h>
    
    using namespace std;
    
    static char *opt_host_name = "host"; /* HOST */
    static char *opt_user_name = "user"; /* USERNAME */
    static char *opt_password = "pass"; /* PASSWORD */
    static unsigned int opt_port_num = 3306; /* PORT */
    static char *opt_socket_name = NULL; /* SOCKET NAME, DO NOT CHANGE */
    static char *opt_db_name = "database name"; /* DATABASE NAME */
    static unsigned int opt_flags = 0; /* CONNECTION FLAGS, DO NOT CHANGE */
    
    int main ()
    {
        MYSQL *conn; /* pointer to connection handler */
        MYSQL_RES *res; /* holds the result set */
        MYSQL_ROW row;
    
    
    
        /* INITIALIZE CONNECTION HANDLER, DO NOT CHANGE */
        conn = mysql_init (NULL);
    
        /* THIS CONNECTS TO SERVER, DO NOT CHANGE ANYTHING HERE */
        mysql_real_connect (conn, opt_host_name, opt_user_name, opt_password,
        opt_db_name, opt_port_num, opt_socket_name, opt_flags);
        /* show tables in the database (test for errors also) */
        mysql_query(conn, "SELECT Password FROM Users WHERE Name = 'MY_NICKNAME'");
        res = mysql_store_result(conn);
    
    
        // get the number of the columns
        int num_fields = mysql_num_fields(res);
        // Fetch all rows from the result
        while ((row = mysql_fetch_row(res)))
        {
           // Print all columns
           for(int i = 0; i < num_fields; i++)
           {
               // Make sure row[i] is valid!
               if(row[i] != NULL)
                    cout << row[i] << endl;
               else
                    cout << "NULL" << endl;
    
               // Also, you can use ternary operator here instead of if-else
               // cout << row[i] ? row[i] : "NULL" << endl;
           }
        }
    
        // DON'T FORGET TO CLEAN RESULT AFTER YOU DON'T NEED IT 
        // ANYMORE
    
        if(res != NULL)
           mysql_free_result(res);
    
        /* disconnect from server */
        mysql_close (conn);
    
        system("pause");
        return 0;
    } 
    /* end main function */
    



    1. SQLAlchemyのPythonでdataframe.to_sqlをロールバックする方法は?

    2. postgresのデフォルトのタイムゾーン

    3. CodeIgniter-新規の場合はアクティブレコードを挿入するか、重複して更新する

    4. これがSQLで可能かどうかを知る必要があります