sql >> Databasteknik >  >> RDS >> Mysql

Hämta rader i en MySQL-databastabell med MySQL C API och C++

I MySQL C API, mysql_fetch_row returnerar ett MYSQL_ROW-objekt, som i huvudsak är en matris med värden i den aktuella raden.

Så din kod bör vara något i stil med:

mysql_query(sqlhnd, "SELECT * FROM `my_table`");
MYSQL_RES *confres = mysql_store_result(sqlhnd);
int totalrows = mysql_num_rows(confres);
int numfields = mysql_num_fields(confres);
MYSQL_FIELD *mfield;

while((row = mysql_fetch_row(confres)))
{
    for(i = 0; i < numfields; i++)
    {
        char *val = row[i];
        // do something with val...
    }
}

Ännu bättre, gör inte ett "SELECT * FROM mytable " i ett program. Det skulle vara mycket bättre att namnge de fält du förväntar dig, så att du kan vara säker på ordningen på de returnerade fälten.



  1. Ansluter FlySpeed ​​SQL Query till Salesforce.com

  2. Installation av specifika paketversioner med pip

  3. Hur ställer jag in Hibernate för att läsa/skriva till olika datakällor?

  4. Skillnad mellan tabellfunktion och rörledningsfunktion?