У меня есть оператор sql, который отлично работает в БД и не показывает никаких ошибок в наборе данных и запросах, но когда я нажимаю кнопку «Чтение полей», он выдает ошибку «Invalid Column Index»
мой sql код
--Employees TABLE
create table employee1 (
ssn number(4) PRIMARY KEY,
ename VARCHAR2(20),
eposition VARCHAR2(30),
dname VARCHAR2(30) ,
salary number (8) ,
phoneNo number(16) not null,
dateOfBirth date not null,
grade VARCHAR(1),
CONSTRAINT Dname_FK1 FOREIGN KEY(dname)
REFERENCES department1(dname) ON DELETE CASCADE,
CONSTRAINT salgrade_FK1 FOREIGN KEY(grade)
REFERENCES salgrade1(grade) ON DELETE CASCADE
);
мой java код
Connection conn=DriverManager.getConnection(url,user,pass);
String sql = "insert into employee1(ssn,ename,eposition,dname,salary, phoneNo, dateOfBirth, grade) VALUES (?,'?','?','?',?,?,'?','?')";
PreparedStatement stmt=conn.prepareStatement(sql);
stmt.setString(1, ssn.getText());
stmt.setString(2, eename.getText());
stmt.setString(3, eepos.getText());
stmt.setString(4, dname.getText());
stmt.setString(5, salary.getText());
stmt.setString(6, phone.getText());
stmt.setString(7, dob.getText());
stmt.setString(8, garde1.getText());
//stmt.executeUpdate();
conn.setAutoCommit(false);
stmt.executeUpdate();
int x = JOptionPane.showConfirmDialog(null, "DO YOU WANT TO SAVE ?", "SELECT YES OR NO",
JOptionPane.YES_NO_OPTION);
if (x == JOptionPane.YES_OPTION) {
conn.commit();
JOptionPane.showMessageDialog(null, "RECORD SAVED");
} else {
conn.rollback();
JOptionPane.showMessageDialog(null, "NO RECORDS ARE SAVED");
}
stmt.close();
conn.close();
} catch (SQLException e1) {
e1.printStackTrace();
}
}
});
есть идеи?