갑자기 내 MySQL 데이터베이스에 문제가 있습니다. 나는 다음과 같은 요청을 보내 내 서블릿에서QLException catch : 열 개수가 행의 값 개수와 일치하지 않습니다.
P_id INT NOT NULL AUTO_INCREMENT,
Date DATE NOT NULL,
Name VARCHAR(32) NOT NULL,
Address VARCHAR(32) NOT NULL,
Day_hours INT NOT NULL,
Day_minutes INT NOT NULL,
Km_to_address INT NOT NULL,
Time_to_address INT NOT NULL,
Allday_hours INT
PRIMARY KEY(P_id)
:
Class.forName("com.mysql.jdbc.Driver");
connection = DriverManager.getConnection(connectionURL, "root", "");
String sql = "INSERT INTO Workdata VALUES (?,?,?,?,?,?,?)";
PreparedStatement pst = connection.prepareStatement(sql);
pst.setString(1, Date);
pst.setString(2, Name);
pst.setString(3, Address);
pst.setString(4, Day_hours);
pst.setString(5, Day_minutes);
pst.setString(6, Km_to_address);
pst.setString(7, Time_to_address);
pst.executeUpdate();
pst.close();
을 그래서 요점은 그냥 자동으로 계산해야 기본 키, 나의 P_id을해야한다는 것입니다 내 데이터베이스에 다음과 같은 열이 몇 가지 데이터를 추가 할 때마다 알다시피 나는 Allday_hours에 setString을 가지고 있지 않다. 이 열을 사용하여 Day_hours 및 Day_minutes를 계산합니다. 나는 쿼리로 이것을한다 :
SELECT *, (Day_hours + (Day_minutes/100)) as Allday_hours FROM Workdata
이것은 나의 여자 친구가 하루 동안 다른 장소에서 일하는 것이다. 따라서 그녀는 fx에 5 개의 다른 장소를 넣을 수 있으며 Allday_hours는 그녀가 하루 동안 얼마나 일했는지 계산합니다. 나는 JSP 사이트에서 내 데이터에 넣어 때 나는 오류를 얻을 :
QLException 잡은 : 열 수는 행에서 값의 수를 일치하지 않는 1
나는 내 서블릿 함께 할 수있는 뭔가가 생각 것 , 어디 setString (1, 날짜) 내. 나는 그것을 setString (2, date)로 설정하려고 시도했으며 다른 것을 3, 4, 5 등으로 변경하려고 시도했다.
누군가 내가 뭘 잘못하고 있는지 볼 수 있니? 모두들 감사합니다. Mads에서
답장을 보내 주셔서 감사합니다. 나는 지금 그것을 시험해 볼 것이다. 나는 Allday_hours에 대해 실제로 생각했다. 그러나 fx 4 작업으로 하루를 어떻게 계산할 수 있습니까? (내 질문을 편집하여 의미를 알 수 있습니다.) – McDuck4
다음과 함께 작동합니다 : String sql = "INSERT INTO Workdata (날짜, 이름, 주소 ...) VALUES (?,?,?,?,? ,?,?) "; :-) – McDuck4
답이 맞다면이 답을 올바른 것으로 표시해야합니다. 이 문제가 해결 된 후에 새로운 대답을 찾으면 실제 질문을 편집하는 대신 새로운 시나리오로 새로운 질문을해야합니다 – Fabio