0
私はNetbeansを使ってクイズ・アプリケーションを作成しようとしています。私はJavaに慣れていないと認めなければなりません。私はそれをMySQLに接続しようとしており、成功しています。問題は、ウェルカム画面からの情報でクラスを作成し、プログラム全体でデータを継承する必要があることを認識したときに到着しました。だから私はクラスを作った。 BaseClassとChildClassです。この後、私のjButtonは何もしません。ここにコードがあります。Javaのクラス
class BaseClass
{
String jdbcurl = "jdbc:mysql://localhost:3306/quiz";
String user="root";
String pass="sql";
int num = (int)(Math.random() * 1000);
String name = jTextField1.getText();
int age=Integer.parseInt(jTextField2.getText());
}
private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {
class ChildClass extends BaseClass
{
public void input() {
try {
Class.forName("java.sql.Driver");
Connection con = (Connection) DriverManager.getConnection(jdbcurl,user,pass);
Statement st = con.createStatement();
String query = "insert into DB values ('" + name + "'," + age + ",0," + num + ");";
st.executeUpdate(query);
st.close();
con.close();
}
catch(Exception e) {
JOptionPane.showMessageDialog(null,"Error in code");
}
Question1 w2 = new Question1();
w2.setVisible(true);
} // TODO add your handling code here:
}
}
何か助けてください! :)
ボタンクリックに対する反応とは、アクションリスナーがどこかに実装されていることを意味します。私はあなたのコードでそれを見ることができません。質問をより明確にするために、あなたの例を改訂してください。 – Jagger
間違ったドライバをロードしています。実際には、ドライバを明示的にロードしているわけではありません(実際のドライバは、JDBC4互換ドライバの場合は 'ServiceLoader'によって既にロードされている可能性があります)。しかしそれは別の問題です。また、catchの中に 'e.printStackTrace()'を追加して、stdoutの問題の原因を調べることができます。 – BalusC
このコードはコンパイルされますか?メソッド内で定義した方法でクラスを定義することはできません。また、次のメソッドの開始前にBaseClassが終了しているようです。これが別のクラスの内部にあると仮定すると、ChildClassを最初に取り除く必要があります。私は、これが抽出された* .javaにコード全体を貼り付けるべきだと思います。 – aishwarya