こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

解決済みの質問

NetBeansではAccessのファイルから取得したデータを出力欄に表示できないのですか?

開発環境にNetBeansを使っています。以下のプログラムを実行したときに出力欄に実行成功と表示されますが、データの値が表示されません。
コマンドプロンプトからの実行結果ではデータの値を表示しました。
どのようにすれば表示するのでしょうか?

import java.sql.*;

public class Main {

static final String str = "jdbc:odbc:Driver={Microsoft Access Driver (*.mdb)};DBQ=hello.mdb";
static final String sql = "SELECT * FROM ハローテーブル";
public static void main(String[] args) {

try{
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
Connection con = DriverManager.getConnection(str, "", "");
Statement stmt = con.createStatement();
System.out.println(sql);
ResultSet rs = stmt.executeQuery(sql);

while(rs.next()){
int no = rs.getInt("No");
String lang = rs.getString("言語");
String msg = rs.getString("メッセージ");
System.out.println(no + " " + lang + " " + msg);
}
stmt.close();
con.close();
}catch(Exception e){
e.getStackTrace();
}
}
}

投稿日時 - 2009-12-08 09:24:56

QNo.5506665

すぐに回答ほしいです

質問者が選んだベストアンサー

試しにNetBeans6.7.1日本語版をインストールして実行してみました。
結論から書くと、プロジェクトプロパティーで、ソースのエンコーディングをwindows-31jにして下さい。

デフォルトだとUTF-8で作成されますが、これだとソースのエンコーディングだけでなく実行時環境もUTF-8になるようで、なぜかうまく動作しません。コマンドプロンプトで同じclassを実行した場合はSJIS環境なので正常に動作します。IDE内でもSJIS環境にしようと思ってプロジェクトプロパティー>実行のVMオプションに「-Dfile.encoding=MS932」と指定すると、正常に実行はされますが、出力欄の文字が化けてしまって読めませんでした...

蛇足ですが、例示のソースは「e.getStackTrace()」なのでエラーが発生しても表示はされません。また、「実行成功」ではなく「構築成功」ではありませんか?「構築成功」はコンパイルできて実行の準備ができたという程度の意味しかありません。

投稿日時 - 2009-12-08 11:51:13

お礼

回答ありがとうございます。
NetBeansで実行して出力欄が文字化けしなくなりました。

投稿日時 - 2009-12-08 23:37:58

このQ&Aは役に立ちましたか?

1人が「このQ&Aが役に立った」と投票しています

回答(1)

あなたにオススメの質問