Here s an example that works with JRuby 1.6.6 (in Ruby 1.8 compat mode) with jdbc-sqlite3 3.7.2.
require rubygems
require jdbc/sqlite3
require java
org.sqlite.JDBC # load the driver so DriverManager detects it
#Java::OrgSqlite::JDBC # alternate means of same
connection = java.sql.DriverManager.getConnection jdbc:sqlite:test.sqlite3
begin
statement = connection.createStatement
begin
statement.executeUpdate("create table user (name varchar, pass varchar)")
statement.executeUpdate("insert into user values ( alice , 1234)")
statement.executeUpdate("insert into user values ( bob , 5678)")
statement.executeUpdate("insert into user values ( charlie , asdf )")
rs = statement.executeQuery("select * from user")
begin
puts "user pass"
while rs.next
puts ["#{rs.getString(1)}",
"#{rs.getString(2)}"].join(" ")
end
ensure
rs.close
end
ensure
statement.close
end
ensure
connection.close
end
Output:
$ rm -f test.sqlite3; ruby sql.rb
user pass
------------
alice 1234
bob 5678
charlie asdf