Я изучаю динамическое веб-программирование на Java с Oracle db.
Это мой DAO для вставки данных в db
staffID = bean.getStaffID();
staffName = bean.getStaffName();//untuk ambil the value
staffAddress = bean.getStaffAddress();
staffNoTel= bean.getStaffNoTel();
staffEmail = bean.getStaffEmail();
staffPos = bean.getStaffPos();
managerID = bean.getManagerID();
password = bean.getPassword();
try {
currentCon = ConnectionManager.getConnection();
ps=currentCon.prepareStatement("insert into staff (staffID,staffName,staffAddress,staffNoTel,staffEmail,staffPos,managerID,password)values(staff_id_seq.NEXTVAL,?,?,?,?,?,?,?)");
ps.setString(1,staffID);
ps.setString(2,staffName);
ps.setString(3,staffAddress);
ps.setString(4,staffNoTel);
ps.setString(5,staffEmail);
ps.setString(6,staffPos);
ps.setString(7,managerID);
ps.setString(8,password);
ps.executeUpdate();
System.out.println("Creating user account:");
System.out.println("Your ID is is auto generated");
System.out.println("Your email is " + staffEmail);
System.out.println("Your password is " + password);
}
Я дважды проверил запрос в sqldeveloper, и он может быть выполнен.но при работе в JEE выдается 2 сообщения об ошибке:
- Ошибка входа в систему: возникла исключительная ситуация!java.sql.SQLSyntaxErrorException: ORA-01722: неверный номер
- сбой: возникла исключительная ситуация!java.sql.SQLException: Неверный индекс столбца
Я пытался разобрать Staffid, но он продолжал выдавать мне ту же ошибку.Раньше я делал staffid без последовательности, и это не давало мне ошибки.
Вот как выглядит структура таблицы персонала:
CREATE TABLE staff(
staffid number(10),
staffname varchar2(100),
staffaddress varchar2(100),
staffnotel varchar2(20),
staffemail varchar2(50),
staffpos varchar2(50),
managerid NUMBER(10),
password varchar2(20),
CONSTRAINT staffid_pk PRIMARY KEY(staffid),
CONSTRAINT staffname_nn CHECK (staffname IS NOT NULL),
CONSTRAINT staffadd_nn CHECK (staffaddress IS NOT NULL),
CONSTRAINT staffnotel_nn CHECK (staffnotel IS NOT NULL),
CONSTRAINT staffemail_nn CHECK (staffemail IS NOT NULL),
CONSTRAINT staffemail_uk UNIQUE(staffemail),
CONSTRAINT managerid_fk FOREIGN KEY(managerid) REFERENCES staff(staffid)
);