MySQL & mSQL



              

Два API - часть 2


/p>

mysql_real_query()


mysql_reload()


mysql_select_db()

msqlSelectDB()

mysql_shutdown()


mysql_stat()


mysql_store_result()

msqiStoreResult()

mysql_use_result()


API для MySQL значительно обширнее, чем API для mSQL, ввиду большего числа функций в MySQL. Во многих случаях MySQL фактически только обеспечивает программный интерфейс к функциям администрирования баз данных, которые имеются в той и другой СУБД. Просто изучив названия функций, можно прийти к выводу, что любое разрабатываемое вами приложение баз данных должно, как минимум, делать следующее:

  • Осуществлять соединение.

  • Выбирать БД.

  • Посылать запрос.

  • Получать строку.

  • Получать поле.

  • Закрываться.

    В примере 13-1 показана простая команда select, извлекающая данные из базы данных MySQL с помощью MySQL С API.

    Пример 13-1. Простая программа, извлекающая все данные из тестовой базы и отображающая их

    #include <sys/time. h>

    #include <stdio.h>

    #include <mysql.h>

    int main(char **args) {

    MYSQL_RES 'result;

    MYSQL_ROW row;

    MYSQL 'connection, mysql;

    int state;

    /* соединиться с базой данных mySQL на athens.imaginary.com */

    mysql_init(&mysql);

    connection = mysql_real_connect(&mysql,

    "alMens.imaginary.com",

    0, 0,

    "db_test", 0, 0);

    /* проверить ошибки соединения */

    if( connection == NULL ) {

    /* вывести сообщение об ошибке */

    printf(mysql_error(&mysql));

    return 1;

    }

    state = mysql_query(connection,

    "SELECT test_id, test_val FROM test");

    if( state != 0 ) {

    printf(mysql_error(connection));

    return 1; }

    /* прежде чем делать другие вызовы,

    * необходимо вызвать mysql_store_result()

    */

    result = mysql_store_result(connection);

    printf("Строк: %d\n", mysql_num_rows(result));

    /* обработать каждую строку результирующего набора */

    while( ( row = mysql_fetch_row(result)) != NULL )

    {

    printf("id: %s, значение: %s\n", (row[0] ? row[0] : "NULL"), (row[1] ? row[1] : "NULL")); }




    Содержание  Назад  Вперед