シンプルな jtextfield で mysql データをバインドしたいと考えています。だから私は以下のようにコードを書いた:
public class SimpleForm extends JFrame implements ActionListener {
private static final long serialVersionUID = 1L;
Connection connection = null;
Statement s = null;
ResultSet rs;
String tableName = "mytable";
JTextField jtf1, jtf2;
JButton jb;
String selTable;
public SimpleForm() {
initComponents();
DoConnect();
}
public void DoConnect() {
try {
connection = DriverManager.getConnection(
"jdbc:mysql://localhost:3306/myschema", "root", "root");
s = connection.createStatement();
DatabaseMetaData dbm = connection.getMetaData();
String[] types = { "TABLE" };
rs = dbm.getTables(null, null, "%", types);
selTable = "SELECT * FROM " + tableName;
} catch (SQLException e) {
System.out.println("Oops! Error occured..");
e.printStackTrace();
} finally {
try {
s.close();
connection.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
}
private void initComponents() {
JPanel jp = new JPanel(new FlowLayout());
JLabel jl1 = new JLabel("ID");
jtf1 = new JTextField();
jtf1.addActionListener(this);
JLabel jl2 = new JLabel("Name");
jtf2 = new JTextField();
jtf2.addActionListener(this);
jb = new JButton("Next");
jb.addActionListener(this);
jp.add(jl1);
jp.add(jtf1);
jp.add(jl2);
jp.add(jtf2);
jp.add(jb);
add(jp);
}
public void actionPerformed(ActionEvent e) {
try {
s.execute(selTable);
rs = s.getResultSet();
if ((rs != null) && (rs.next())) {
rs.next();
jtf1.setText(rs.getString(1));
jtf2.setText(rs.getString(2));
}
} catch (SQLException e1) {
e1.printStackTrace();
}
}
public static void main(String[] args) {
new SimpleForm().setVisible(true);
}
}
私はこれをEclipse indigoとmysqlデータベースで作成しています。libフォルダーにドライバーのjarファイルをインポートしました。それでも次のエラーが発生しました。
Oops! Error occured..
java.sql.SQLException: No suitable driver found for jdbc:mysql://localhost:3306/myschema
at java.sql.DriverManager.getConnection(DriverManager.java:604)
at java.sql.DriverManager.getConnection(DriverManager.java:221)
at main.SimpleForm.DoConnect(SimpleForm.java:55)
at main.SimpleForm.<init>(SimpleForm.java:46)
at main.SimpleForm.main(SimpleForm.java:135)
Exception in thread "main" java.lang.NullPointerException
at main.SimpleForm.DoConnect(SimpleForm.java:74)
at main.SimpleForm.<init>(SimpleForm.java:46)
at main.SimpleForm.main(SimpleForm.java:135)
だから、これを解決するのを手伝ってください。私は本当に問題を理解していません。