이 오류를 표시하므로 내 코드에 약간의 문제가 있습니다.java.sql.SQLSyntaxErrorException?
'java.sql.SQLSyntaxErrorException : 할당 된 값의 수가 지정된 또는 암시 된 열 수와 같지 않습니다.'
나는 비슷한 문제를 읽지 만 여전히 광산이 어떻게 오류를 표시하는지 혼란 스럽습니다. 또한 나는이 값들 사이에 ","을 넣으려고했지만 여전히 좋지는 않습니다. 그리고 준비된 진술은 무엇입니까?
//CONNECTION
Connection conn = null;
try{
conn =
DriverManager.getConnection("jdbc:derby://localhost:1527/MetroEventsDB",
"root", "root");
System.out.println("Connected");
//Insertion
Statement stmt = (Statement) conn.createStatement();
stmt.execute("INSERT INTO Users(UserID, Password, FirstName, LastName, Gender, Birthdate) VALUES('"+txtUserID.getText()+txtPassword.getText()+txtFirstName.getText()+txtLastName.getText()+gender+txtBirthdate.getText()+"')");
}catch(SQLException e){
System.err.println(e);
}
'PreparedStatement'를 올바르게 사용하는 법을 배우십시오. [JDBC 튜토리얼] (http://docs.oracle.com/javase/tutorial/jdbc/basics/index.html)을 읽음으로써 –
죄송합니다. 오랫동안 나는 그것을 보았다가 한 번 qoutation이 누락 된 것을 보았습니다. 그래서 이렇게 보일 것입니다. VALUES (' "+ txtUserID.getText() +"', ""+ txtPassword.getText() – justanything
아니요, 그것은 자리 표시자를 가진'PreparedStatement'이어야합니다. ** 연결하지 말아야합니다 ** SQL 쿼리에 사용자 입력 –