테이블에 행을 추가하려고합니다. 처음에 나는이 코드를 가지고 있지만, 8 열 (추가 열이 변경되었다가 난 단지 2 열을했다 처음)이 있다는 오류를 만들지 만 나는 단지 2 개 값을 추가하고 :열이 변경된 후 테이블에 행을 추가하는 방법은 무엇입니까? (SQLite, JAVA)
PreparedStatement addDate =
con.prepareStatement("insert into contributions values(?,?)");
addDate.setString(2, string);
addDate.execute();
}
그리고 나는이 시도를 :
[SQLITE_ERROR] SQL error or missing database (table contributions has 8 columns but 1 values were supplied)
어떤 도움을 주시면 감사하겠습니다 :
public void addDateToContributionsTable(String string) throws ClassNotFoundException, SQLException {
if(con == null) {
// get connection
getConnection();
}
Statement st = con.createStatement();
ResultSet rs = st.executeQuery("Select * from contributions");
ResultSetMetaData rsmd = rs.getMetaData();
int columnsNumber = rsmd.getColumnCount();
StringBuilder sb = new StringBuilder();
for(int i= 0; i < columnsNumber; i++){
sb.append("?");
sb.append(",");
}
System.out.println(sb.toString());
System.out.println("insert into contributions values('"+sb.toString()+"')");
PreparedStatement addDate = con
.prepareStatement("insert into contributions values('"+sb.toString()+"')");
addDate.setString(2, string);
addDate.execute();
}
하지만 난 여전히 같은 오류가 데. :)
당신이 값을 전달하는에 열 이름을 가지고 당신의 INSERT 쿼리를 변경할 수있는 경우, 이러한 문제를 제기하지 않을 - 다른 사람이 필요하지 않은 고려! –