Spec-Zone.ru › MySQL Connectors 1.0

6.4.28 mysql_stmt_store_result()

int
mysql_stmt_store_result(MYSQL_STMT *stmt)

Описание

Наборы результатов генерируются при вызове mysql_stmt_execute() для выполнения подготовленных запросов к SQL-выражениям, таким как , , , и . По умолчанию наборы результатов успешно выполненных подготовленных запросов не буферизуются на клиенте, и mysql_stmt_fetch() извлекает их из сервера по одному. Чтобы весь набор результатов буферизовать на клиенте, вызовите mysql_stmt_store_result() после связывания буферов данных с помощью mysql_stmt_bind_result() и перед вызовом mysql_stmt_fetch() для извлечения строк. (Для примера см. Раздел 6.4.11, «mysql_stmt_fetch()».)

mysql_stmt_store_result() является необязательной для обработки наборов результатов, если вы не будете использовать mysql_stmt_data_seek(), mysql_stmt_row_seek() или mysql_stmt_row_tell(). Эти функции требуют итерируемый набор результатов.

Нет необходимости вызывать mysql_stmt_store_result() после выполнения SQL-запроса, который не генерирует набор результатов, но если вы это сделаете, это не повредит и не вызовет заметных проблем с производительностью. Вы можете определить, сгенерировал ли запрос набор результатов, проверив, возвращает ли mysql_stmt_result_metadata() NULL. Для получения дополнительной информации см. Раздел 6.4.23, «mysql_stmt_result_metadata()».

Примечание

MySQL по умолчанию не вычисляет MYSQL_FIELD->max_length для всех столбцов в mysql_stmt_store_result(), так как вычисление этого значительно замедлит mysql_stmt_store_result(), а большинство приложений не нуждаются в max_length. Если вы хотите, чтобы max_length были обновлены, можно вызвать mysql_stmt_attr_set(MYSQL_STMT, STMT_ATTR_UPDATE_MAX_LENGTH, &flag), чтобы включить это. См. Раздел 6.4.3, «mysql_stmt_attr_set()».

Значения возврата

Ноль в случае успеха. Неноль, если произошла ошибка.

Ошибки

  • Команды были выполнены в неправильном порядке.

  • Недостаточно памяти.

  • Сервер MySQL завершил работу.

  • Соединение с сервером было потеряно во время запроса.

  • Произошла неизвестная ошибка.

© 2025 Oracle
Licensed under the GPLv2 License.
https://docs.oracle.com/cd/E17952_01/c-api-5.7-en/mysql-stmt-store-result.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API