sql >> Databáze >  >> RDS >> Mysql

Načítání řádků v databázové tabulce MySQL pomocí MySQL C API a C++

V rozhraní MySQL C API mysql_fetch_row vrací objekt MYSQL_ROW, což je v podstatě pole hodnot v aktuálním řádku.

Váš kód by tedy měl být něco jako:

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

Ještě lépe, nedělejte „SELECT * FROM mytable " v programu. Bylo by mnohem lepší pojmenovat pole, která očekáváte, abyste si byli jisti pořadím vrácených polí.



  1. Jaké jsou 10 nejlepších funkcí Microsoft Access?

  2. Jak vybrat optimalizované datové typy pro sloupce [specifické pro innodb]?

  3. Nelze předat hodnotu řetězce 1,2 jako vstup do dotazu Oracle

  4. Proč tato aktualizace MySQL nefunguje?