On Fri, May 04, 2001 at 03:55:00PM +0100, ruby-talk / ruby-lang.org wrote: > On Fri, May 04, 2001 at 10:43:32PM +0900, Renald Buter wrote: > > On Fri, May 04, 2001 at 03:02:00PM +0100, ruby-talk / ruby-lang.org wrote: > > > Actually, the only interface i know (a very little bit) which works (partly) > > > like this is the db-interface > > > in visual basic. But of course, this can be implemented in ruby in a much > > > more elegant way... > > Hmmm. I like the DBI approach better, or even de JDBC approach. Using DBI > > would allow Perl converts (like me :) to adapt more easily... > Since I never used Perl, but of course want to steal any good idea I can > find for my interface ( if I actually get to write it)..... > > How does the Perl DBI Interface work? > If you want to know exactly, try http://dbi.symbolstone.org. But for a small introduction, allow me to present some perl code on the ruby listing here... #!/usr/bin/perl use DBI; $dsn = q{dbi:mysql:database=test_db;hostname=localhost}; $dbh = DBI->connect($dsn, "user", "pass"); $q = q{select * from test where id > 10}; $qh = $dbh->prepare($q); $qh->execute; # or combine into $qh = $dbh->do($q); while (@row = qh->fetchrow) { $str = join ",",@row; print "$str\n"; } Which would translate into something like #!/usr/bin/ruby require 'dbi' dsn = %q{dbi:mysql:database=test_db;hostname=localhost} dbh = DBI.connect(dsn,"user","pass") q = %q{select * from test where id > 10}; qh = dbh.prepare(q); qh.execute; qh.fetchrow.each do |row| puts row.join(",") end > > FWIW, I was just looking around for the same thing, but I did not code > > anything yet, since a MySQL interface _is_ available -- which is enough for > > me at the moment > Well, I plan to build my library on top of libmysql-ruby (but of course also > want to to support other dbs - but since I used only mysql until yet, I will > start with this). Well good luck with it. Just look at the source of DBI.pm, I would say Renald.