2010-01-12 2 views
1

Я использую модуль Ruby mysql.Получить заголовки столбцов заголовка из MySQL в Ruby

Я хочу распечатать результаты запроса и включить имена столбцов. У меня возникли проблемы с поиском метода, чтобы дать мне массив этих имен. У меня есть значения, как показано ниже.

результат = my.query ("select * from Foo")

result.each сделать | ряд | puts row.join (',') end

Спасибо за помощь!

ответ

2

result.fetch_fields.each_with_index do |info, i| 
     printf "--- Column %d (%s) ---\n", i, info.name 
     printf "table:   %s\n", info.table 
     printf "def:    %s\n", info.def 
     printf "type:    %s\n", info.type 
     printf "length:   %s\n", info.length 
     printf "max_length:  %s\n", info.max_length 
     printf "flags:   %s\n", info.flags 
     printf "decimals:   %s\n", info.decimals 
    end 
+0

Это сработало. Спасибо. – Poul

+0

С этого поста мы переключились на жемчужину продолжения ruby ​​для наших запросов mysql и очень довольны им: http://sequel.rubyforge.org/documentation.html – Poul

0

Это может не ответить на ваш вопрос напрямую, но вам может понадобиться проверить уровень абстракции базы данных. Есть несколько из них для Ruby, в особенности ActiveRecord. ActiveRecord поставляется в виде модельной части структуры Ruby on Rails, но вы можете использовать ее «автономно» без остальной части Rails.

С его помощью (или чем-то аналогичным) вы сможете более быстро и точно создавать приложения, так как это предоставляет бесценные инструменты для общения с вашей базой данных - инструменты, которые вы потратили бы много времени на разработку. Если вы когда-нибудь захотите изменить поставщика баз данных из MySQL на что-то другое (например, PostgreSQL или Oracle), вам не придется много перекодировать.

Смежные вопросы