Asp Forum
Home
|
Login
|
Register
|
Search
Forums
>
comp.lang.ruby
Excited n00b
Mark Carter
2/15/2005 12:53:00 PM
I jobby out VBA code for a living, although I use python wherever I can.
I thought I'd try out Ruby to see what all the fuss was about.
So far, I'm impressed. Here's a little proggy that I knocked out to dump
the table structure of a database:
require 'win32ole'
def schema()
@MDB_FILE_NAME = "C:\\mcarter\\srel\\2292-Stargate\\demo.mdb"
# Create the object
conn=WIN32OLE.new("ADODB.Connection")
conn.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0; Data
Source=\"#{@MDB_FILE_NAME}\""
conn.open
#
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/ado270/htm/mdmthopen...
#
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/ado270/htm/mdcstsche...
adSchemaTables = 20 #constant
rs = conn.OpenSchema(adSchemaTables)
rs.MoveFirst if !rs.eof
while !rs.eof
yield rs
rs.MoveNext
end
rs.close()
conn.close
end
schema { | table |
puts "NEW TABLE"
for field in table.Fields
puts "%-15s %10s" % [field.name, field.value]
end
puts
}
OK, it could do with some refactoring, but I was just trying to get
something working. I think that impresses me about this block stuff is
that it's a really neat way to hide messy implementation details. ADODB
has a slightly strange way of iterating over records (the !rs.eof bit);
but that doesn't matter because it's all hidden away. I just iterate
over the recordset like it was a normal list.
I'm tempted to stick around to see what other goodies Ruby has in store.
What I'm actually trying to do is read a database, bump the date values
of some of the fields, create some new records, and put the result into
a new database. Before I completely re-invent the wheel, is there a ruby
library that is likely to be of assistance?
2 Answers
Robert Klemme
2/15/2005 2:01:00 PM
0
"Mark Carter" <cartermark46@ukmail.com> schrieb im Newsbeitrag
news:37e9ktF57ldcjU1@individual.net...
> I jobby out VBA code for a living, although I use python wherever I can.
> I thought I'd try out Ruby to see what all the fuss was about.
Welcome aboard!
> So far, I'm impressed. Here's a little proggy that I knocked out to dump
> the table structure of a database:
>
<snip/>
> OK, it could do with some refactoring, but I was just trying to get
> something working. I think that impresses me about this block stuff is
> that it's a really neat way to hide messy implementation details. ADODB
> has a slightly strange way of iterating over records (the !rs.eof bit);
> but that doesn't matter because it's all hidden away. I just iterate
> over the recordset like it was a normal list.
>
> I'm tempted to stick around to see what other goodies Ruby has in store.
I'm nearly sure you'll stay longer... :-)
> What I'm actually trying to do is read a database, bump the date values
> of some of the fields, create some new records, and put the result into
> a new database. Before I completely re-invent the wheel, is there a ruby
> library that is likely to be of assistance?
Look at the Ruby DBI/DBD implementations. It typically comes preinstalled
but if you need more, you can look in the RAA
http://raa.ruby...
There's also other DB handling stuff:
http://raa.ruby...
cat.rhtml?category_major=Library;category_minor=Database
Kind regards
robert
Gavri Fernandez
2/16/2005 4:28:00 PM
0
On Tue, 15 Feb 2005 21:54:53 +0900, Mark Carter <cartermark46@ukmail.com> wrote:
> What I'm actually trying to do is read a database, bump the date values
> of some of the fields, create some new records, and put the result into
> a new database. Before I completely re-invent the wheel, is there a ruby
> library that is likely to be of assistance?
Check out Active Record (
http://ar.rubyo...
)
--
Gavri
---------------------------------------------------
I blog here:
http://gavri.bl...
Servizio di avviso nuovi messaggi
Ricevi direttamente nella tua mail i nuovi messaggi per
Excited n00b
Inserendo la tua e-mail nella casella sotto, riceverai un avviso tramite posta elettronica ogni volta che il motore di ricerca troverà un nuovo messaggio per te
Il servizio è completamente GRATUITO!
x
Login to ForumsZone
Login with Google
Login with E-Mail & Password