いまさらRowSet
ADO.NETのDataSet見てて思い出した。
そういやJavaにはRowSetがあるじゃないかと。
http://kamakura.cool.ne.jp/oppama/swjd/jdbc-rowset.html
にサンプルあったので、書き写してみた。
import javax.sql.*; import javax.sql.rowset.*; import com.sun.rowset.*; public class ReadMdb2 { public static void main(String[] args) throws Exception { JdbcRowSet jrs = new JdbcRowSetImpl(); jrs.setCommand("select * from emp"); jrs.setUrl("jdbc:odbc:hoge"); jrs.execute(); while(jrs.next()) { System.out.println(jrs.getInt(1) + " / " + jrs.getString (2)); } jrs.close(); } }
結果はこう。
JdbcRowSet (setMaxFieldSize): [Microsoft][ODBC Microsoft Access Driver]オプショ ンの機能は実装されていません。 JdbcRowSet (setQueryTimeout): [Microsoft][ODBC Microsoft Access Driver]オプショ ンの機能は実装されていません。 1 / Tom 2 / Bob 3 / Michael
ぼつぼつとワーニングが出るも、DBは正しく読めている模様。
検査例外の捕捉を省略しているとはいえ、すっきりしているなぁ。いい感じです。