[Ruby]rubyでaccessにコネクトしレコードセットをえてデータ内容を表示する

rubyでaccessにコネクトするmodulueをつくっておく。
win32ole(標準添付)をrequireする。
gconnect.rb---
require 'win32ole'

$cn
$filename="パス\ファイル名.mdb".freeze

module Recordset
  def [] field
    self.Fields.Item(field).Value
  end
  def []= field,value
    self.Fields.Item(field).Value = value
  end
  def each_record
    if self.EOF or self.BOF
      return
    end
    self.MoveFirst
    until self.EOF or self.BOF
      yield self
      self.MoveNext
    end
  end
end

class Gconnect
  def initialize
        $cn = WIN32OLE.new("ADODB.Connection")
        connstr = "DRIVER={Microsoft Access Driver (*.mdb)};Dbq=#{$filename}"
        $cn.Open connstr
        $cn.freeze
        begin
          $cn
        rescue
           $cn.Close
        end
  end
   def cnclose
     $cn.Close
   end
end
-------------------
レコードセットをえてデータ内容を表示(puts)する
-----main----------
require 'win32ole'
require 'gconnect'

sql = "SELECT * FROM TM_マスタ;"
rs = $cn.Execute(sql)
rs.extend Recordset
rs.each_record do |rst|
        puts rst['ID']
        puts rst['name']
end
rs.close


------------------------

トラックバック(0)

このブログ記事を参照しているブログ一覧: [Ruby]rubyでaccessにコネクトしレコードセットをえてデータ内容を表示する

このブログ記事に対するトラックバックURL: http://www.re-labo.com/mt/mt-tb.cgi/111

コメントする

このブログ記事について

このページは、ひろろが2009年10月 8日 17:43に書いたブログ記事です。

ひとつ前のブログ記事は「[Rails] 備忘録マイグレーションの型 (マイグレーション mysql)」です。

次のブログ記事は「[便利]温泉地・祭り・観光地とか旅情報が結構豊富にのってる」です。

最近のコンテンツはインデックスページで見られます。過去に書かれたものはアーカイブのページで見られます。

Powered by Movable Type 4.01

日本の借金時計


なかのひと


Firefox3 Meter
Chrome Counter 携帯アクセス解析

どこ?

どここjpの位置取得サービスを利用しています



Yahooログロール



ジオターゲッティング


ジオターゲティング

amazon