SQL 구문에 오류가 있습니다. '1,2,3,4) 값 ('2017-01-11 ','P ','P ','P ','근처에 사용할 올바른 구문을 보려면 에 해당하는 설명서를 MariaDB 서버 버전으로 확인하십시오. 'A') 'at line 1다음 예외가 발생했습니다. 해결할 수없는 값 사이에 따옴표와 쉼표를 넣으려고했습니다.
오류는 아마도 insertColumn
과 insertValue
변수에 있습니다. 문법 권리를 얻을 수 없습니다. 아마도 변수에 따옴표가 누락되었을 수 있지만 어디에 있는지 모르겠습니다. 나는 온라인으로 다른 근원을 언급했다 그러나 시도는 실패했다. columnNames
은 모든 열이있는 목록입니다. 에 따르면
String insertColumns = "";
String insertValues = "";
if(columnNames != null && columnNames.size() > 0){
insertColumns += columnNames.get(0);
insertValues += "?";
}
for(int i = 1; i < columnNames.size();i++){
insertColumns += "," + columnNames.get(i) ;
insertValues += ","+"?";
}
System.out.println(insertColumns);
String insertSql;
//Here is where the problem lies
insertSql = "INSERT INTO os ("+ insertColumns+") values (" + insertValues +
")";
System.out.println(insertSql);
try{
PreparedStatement ps = conn.prepareStatement(insertSql);
ps.setDate(1, sqlStartDate);
for(int i=1;i<=no_of_stud;i++){
int j=i+1;
int k=i-1;
ps.setString(j, present[k]);
}
'System.out.println (insertSql);'의 출력은 무엇입니까? – flip
String insertColumns = String.join (","columnNames);'및'String insertValues = String.join (",", Collections.nCopies (columnNames.size() ")를 사용하면 많은 모호성을 제거 할 수 있습니다. ? "));'. – VGR
'insertColumns + = columnNames.get (0);''insertColumns + = " '"+ columnNames.get (0) + "'";'및'insertColumns + = ","+ columnNames.get (i);''insertColumns + = ","+ " '"+ columnNames.get (i) + "'"; – Bob