ms アクセスで作成したデータベース テーブルに値を挿入したいと考えています。このコードは以前は機能していましたが、なぜエラーが発生するのか理解できません。
Exception in thread "main" java.lang.NullPointerException
at storeapp.Trylog.<init>(Trylog.java:28)
at storeapp.Trylog.main(Trylog.java:45)
ドライバーを正しく構成したと思います。
ユーザー名とパスワードの列を持つテーブル名 ACCOUNT があります。
そして、ここにコードがあります.....
public class Trylog extends JFrame{
Connection con;
Statement st;
ResultSet rs;
public Trylog(){
connect();
String u = "Katherine";
String p = "kat";
String sql = "Insert into ACCOUNT(Username, Password) Values ('"+u+"' , '"+p+"' ) ";
try {
rs = st.executeQuery(sql);
} catch (SQLException ex) {
}
}
public void connect(){
try {
String driver = "sun.jdbc.odbc.JdbcOdbcDriver";
Class.forName(driver);
String db = "jdbc:odbc:access";
con = DriverManager.getConnection(db);
st = con.createStatement();
}
catch (Exception ex){}
}
public static void main(String[] args) {
Trylog r = new Trylog();
r.setVisible(true);
r.setSize(600, 800);
r.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
}
なぜこのようなエラーが発生するのか誰にもわかりますか?
これは、28行目と46行目から例外ベースを引き起こす行です
rs = st.executeQuery(sql);
と
Trylog r = new Trylog();
印刷します
Exception in thread "main" java.lang.RuntimeException: java.sql.SQLException: No ResultSet was produced
原因: java.sql.SQLException: ResultSet が生成されませんでした