mySqlをRubyで使えるようにするクラスを作成

http://www.tmtm.org/ruby/mysql/

とりあえず、できました。
DBから取得したデータがどういう型で返されるのかがいまいちわからなかったため、
つまづきました。
目的は1列ごとに改行を入れて表示させる。です。

で、最初は例のとおり、下記のように取得してみる。


class MySqlConnect

def self.connectDb
require "mySql"
mysql = Mysql::new("host","userId","Password","tableName")
p mysql
return mysql
end

end

require "MySqlConnect"
connectedDb = MySqlConnect::connectDb
sqlString = "SQL"

getData = connectedDb.query(sqlSring)

#1
getData.each do |row|
puts row
end

そうすると、1列毎に改行される。
んじゃあ、ってことで、#1の所を以下のように変更。


getData.each do |row|
row.each do |column|
puts column
end

表示かわらず。

型を調べてみると
getDataはresult、rowはarry
ということで、とりあえず、1行づつだすなら


getData.each do |row|
puts userRow[0] + "," + userRow[1]
end

ってやればカンマ区切りで表示される。

でも、これって、何行目にある項目名がこれって言う指定はできないのかな?

ちなみに項目名で探したいときはHashにしてあげる。


getData.each_hash do |hashRow|
put hashRow["columnName"] + "," + hashRow["columnName"]
end

.queryはMysql::Resultクラスオブジェクトを返すとのこと。

一回最後までループさせるとどうも同じことをしても元に戻らないみたい。
getData.row_seek(0)
で0行目まで戻してまたまわし始める必要があり。

この辺って、クラス化するよりモジュール化してあげた方が良さそうな感じがしてきた。
どう使うか、使いやすい方法を探索。