- 追加された行はこの色です。
- 削除された行はこの色です。
[[JAVAの記事一覧]]
&topicpath;
*目次 [#c8bf02c2]
#contents
*JDBC テーブル一覧 [#h34e692f]
ODBCでhelloworldという定義を済ませてあるとすると下記のコードでできた。
確認したDBはAccess
import java.sql.Connection;
import java.sql.DatabaseMetaData;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
public class HelloTableList {
public static void main(String[] args) {
try {
// ドライバクラスをロード
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
// データベースへ接続
Connection con = DriverManager.getConnection("jdbc:odbc:helloworld");
// ステートメントオブジェクトを生成
Statement stmt = con.createStatement();
DatabaseMetaData dmd = con.getMetaData();
ResultSet rs = null;
String types[] = { "TABLE" };
rs = dmd.getTables(null, null,"%", types);
try {
while(rs.next()){
System.out.println(rs.getString("TABLE_TYPE") + ":");
System.out.println(rs.getString("TABLE_NAME") + "\n");
}
} finally {
rs.close();
}
stmt.close();
con.close();
} catch (Exception e) {
e.printStackTrace();
}
}
}
*%のエンコード [#p54cfcac]
文字列に%を使いたい場合は%25でおきかえておこう。エンコードすると%と認識してくれるぞ。
public static String escape(String data) {
return data.replaceAll("%", "%25");
}