0013NAME IS NULL
04/12/17 22:30:06ID:???require 'dbi'
DBI.connect('DBI:Mysql:test', 'testuser', 'testpwd') do | dbh |
puts "inserting..."
sql = "insert into simple01 (SongName, SongLength_s) VALUES (?, ?)"
dbh.prepare(sql) do | sth |
1.upto(13) { |i| sth.execute("Song #{i}", "#{i*10}") }
end
puts "selecting..."
dbh.select_all('select * from simple01') do | row |
p row
end
puts "deleting..."
dbh.do('delete from simple01 where internal_id > 10')
end
ブロックのおかげで処理のスコープが視覚的に分りやすいというのはあると思うが、
別段データベースに限ったことではないしな。
ライブラリの整備や開発環境のサポートを考えれば、
Class::DBI のある Perl や OR マッピングライブラリが盛んな Java の方が数歩先んでている。