Java-未知列在';字段列表';jdbc错误

Java-未知列在';字段列表';jdbc错误,java,mysql,jdbc,Java,Mysql,Jdbc,我的jdbc驱动程序出现了这个错误。我不知道为什么,tho 以下是相应的代码: try { String colNames = " "; for (int i=0; i<cols.size(); i++) { if (i == cols.size()-1) { colNames += cols.get(i); } else if (i<cols.size()) { colNames +=

我的jdbc驱动程序出现了这个错误。我不知道为什么,tho

以下是相应的代码:

try {
    String colNames = " ";
    for (int i=0; i<cols.size(); i++) {
        if (i == cols.size()-1) {
            colNames += cols.get(i);
        } else if (i<cols.size()) {
            colNames += cols.get(i)+", ";
        }               
    }       
    String colValues = " ";
    for (int i=0; i<values.size(); i++) {
        if (i == values.size()-1) {
            colValues += values.get(i);
        } else if (i<values.size()) {
            colValues += values.get(i) + ", ";
        }       
    }
    System.out.println(
        "INSERT INTO `" + tableName + "` (" + colNames + ") VALUES (" + colValues + ") "
    );
    //System.out.println(kerdojel);

    PreparedStatement pst = connHandler.conn.prepareStatement
        ("INSERT INTO `" + tableName + "` (" + colNames + ") VALUES (" + colValues + ") ");
    pst.executeUpdate();
    pst.close();
}
错误:

com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Unknown column 'asd' in 'field list'

这不是
预准备状态
的用途。使用
PreparedStatement
时,可以使用“set”方法之一指定值

以下是一个例子:

String colNames = " ";
String colValues = " ";
for (int i=0; i<cols.size(); i++) {
    if(i!=0){
       colNames += ", ";
       colValues += ", ";
    }
    colNames += cols.get(i);
    colValues += "?";              
}       

try (PreparedStatement pst = connHandler.conn.prepareStatement("INSERT INTO `" + tableName + "` (" + colNames + ") VALUES (" + colValues + ") ");){

    for (int i = 0; i < values.size(); i++) {
        pst.setString(i+1,values.get(i));       
    }

    pst.executeUpdate();
}
String colNames=”“;
字符串colValues=“”;

对于(inti=0;i尝试使用类似于以下命令的命令来检查存在的问题

从“插入到表一(nev,kor)值(?,)中”准备mycmd

使用单引号表示值。在旁注中,使用
setString()
etc方法设置值hanks,但仍然得到了错误。显示查询输出和错误
String colNames = " ";
String colValues = " ";
for (int i=0; i<cols.size(); i++) {
    if(i!=0){
       colNames += ", ";
       colValues += ", ";
    }
    colNames += cols.get(i);
    colValues += "?";              
}       

try (PreparedStatement pst = connHandler.conn.prepareStatement("INSERT INTO `" + tableName + "` (" + colNames + ") VALUES (" + colValues + ") ");){

    for (int i = 0; i < values.size(); i++) {
        pst.setString(i+1,values.get(i));       
    }

    pst.executeUpdate();
}