Два API
Используете ли вы С или C++, С API для MySQL и mSQL являются шлюзами к базе данных. Однако их применение может очень различаться в зависимости от того, используете ли вы С или объектно-ориентированные возможности C++. К программированию баз данных на С нужно подходить в последовательном стиле, когда вы пошагово просматриваете свое приложение, чтобы определить, где производятся обращения к базе данных, а где необходимо произвести освобождение ресурсов. Напротив, объектно-ориентированный C++ требует объектно-ориентированного интерфейса к выбранному вами API. Тогда объекты этого API могут взять на себя ответственность за управление ресурсами базы данных.
В таблице 13-1 сопоставлены вызовы функций каждого API. Детали использования этих функций мы рассмотрим позднее в этой главе. Сейчас вы можете лишь бегло сравнить оба API и отметить, какие возможности они предоставляют. Разумеется, в справочном разделе перечислены все эти методы с подробным описанием прототипов, возвращаемых значений и комментариями.
Таблица 13-1. С API для MySQL и mSQL
MySQL |
mSQL |
mysql_affected_rows() |
CM. msqlQuery() |
mysql_close() |
msqlClose() |
mysql_connect() |
msqlConnect() |
myql_create_db() |
|
mysql_data_seek() |
msqlDataSeek() |
mysql_drop_db() |
|
mysql_eof() |
|
mysql_error() |
|
mysql_fetch_field() |
msqlFetchField() |
mysql fetch lengths() |
|
mysql_fetch_row() |
msqlFetchRow() |
mysql_field_count() |
|
mysql_field_seek() |
msqlFieldSeek() |
mysql_free_result() |
msqlFreeResult() |
mysql_get_client_info() |
|
mysql get host_info() |
|
mysql_get_proto_info() |
|
mysql_get_server_info() |
|
mysql_init() |
|
mysql_insert_id() |
|
mysql_list_dbs( ) |
msqlListDBs() |
mysql_list_fields() |
msqlListFields() |
|
msqlListIndex() |
mysql_list_processes() |
|
mysql_list_tables() |
msqlListTables() |
mysql_num_fields() |
msqlNumFields() |
mysql_num_rows() |
msqlNumRows() |
mysql_query() |
msqlQuery() |