SQL でデータベースにデータを挿入しようとしていますが、プログラムを実行した後にエラーが発生し、次のように表示されます。
[Microsoft][ODBC SQL Server Driver][SQL Server]Insert Error: Column name or number of supplied values does not match table definition.
どうすれば修正できますか?誰かが私のコードの何が問題なのか教えてもらえますか?
コードは次のとおりです。
private void btnInsertActionPerformed(java.awt.event.ActionEvent evt) {
try {
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
String url = "jdbc:odbc:****";
String user = "****";
String pass = "****";
Connection connection = DriverManager.getConnection(url, user, pass);
Statement statement = connection.createStatement();
String pIDNo = txtPatientID.getText();
String pFName = txtpFName.getText();
String pLName = txtpLName.getText();
String pMI = txtpMI.getText();
String sql = "INSERT INTO dbo.Patients VALUES (" +
(pIDNo)+",'"+(pFName)+"','"+(pLName)+"','"+(pMI)+"')";
statement.executeUpdate(sql);
JOptionPane.showMessageDialog(rootPane, "Patient Added!");
}catch (Exception ex) {
JOptionPane.showMessageDialog(this, ex.getMessage());
System.exit(1);
}
}
テーブル情報は次のとおりです。