Volgograd

Волгоград Linux User Group

Организована 23 ноября 2002 года

Проект заморожен Птн Июл 6 02:11:14 MSD 2012


Вход:  Пароль:  

ПрограммированиеНаRubyИMySQL


Программирование на Ruby и MySQL

Оглавление документа

Обзор модуля MySQL


Модуль MySQL определяет четыре класса:

  • Mysql — Главный класс, содержит методы для соединения с сервером, посылки сообщений на сервер и административных операций.
  • MysqlRes — Класс набор результатов, используется для запросов, которые возвращают набор результатов.
  • MysqlField — Класс описания метаданных; содержит информацию о характеристиках столбцов в наборе результатов, например их имена, типы и другие атрибуты.
  • MysqlError — Класс исключений, используется когда метод того или иного класса возвращает ошибку.

В большинстке случаев методы Ruby в этом модуле действуют как обертки вокруг соответствующих функций C API, за исключением того, что имена методов Ruby не начинаются с префикса mysql_. Например метод Ruby real_connect это обертка вокруг функции C mysql_real_connect(). (Это означает что если вам интересно что-то не упомянутое в этой статье вы можете отыскать ответ на свой вопрос в руководстве по MySQL в главе C API или поискав в другой документации в которой рассматривается C API.)

Общая часть каждого примера


Простая выборка (вариант первый)


Простая выборка (вариант второй)


Выборка с использованием hash массива (вариант первый)


Выборка с использованием hash массива (вариант второй)


Выборка с hash с одинаковыми названиями столбцов

Если вы используете предыдущий пример, то в случае с двумя одинаковыми названиями столбцов, будет показан только первый. Чтобы избежать этого, необходимо использовать следующий вариант:

Пустое значение результата

Если в результае выборки значение какого-либо столбца пусто, то его значение = nil. Для визуализации данного факта можно сделать следующим образом:

Или можно модифицировать функцию отображения результата (что намного удобней):

или

Откуда это бралось

http://www.kitebird.com/articles/ruby-mysql.html


[ / Category Programming ]
[ / Category Ruby ]