Java 将excel中的行插入mysql会引发JDBC异常

Java 将excel中的行插入mysql会引发JDBC异常,java,mysql,jdbc,apache-poi,Java,Mysql,Jdbc,Apache Poi,为了正确读取excel日期值,我面临另一个难题。插入excel行时,VARCHAR列的单元格引号丢失 例如,我将一行读入如下列表 [1,阿桑,2013-12-12] 然后,当形成查询并执行SQL语句时,我得到了MySQLSyntaxException。在使用insert语句时,如何保留(或为此为获取的数据添加单引号)。下面是我用来形成查询的代码 Statement stmt = null; String qry = "insert into "+ fieldValue + " ("; for (

为了正确读取excel日期值,我面临另一个难题。插入excel行时,VARCHAR列的单元格引号丢失

例如,我将一行读入如下列表

[1,阿桑,2013-12-12]

然后,当形成查询并执行SQL语句时,我得到了
MySQLSyntaxException
。在使用insert语句时,如何保留(或为此为获取的数据添加单引号)。下面是我用来形成查询的代码

Statement stmt = null;
String qry = "insert into "+ fieldValue + " (";
for (int i=0; i<sheetColumnNames.size(); i++ ) {

    if (i == (sheetColumnNames.size() -1)) {
        qry +=  sheetColumnNames.get(i) +")";
    }
    else
    {
        qry +=  sheetColumnNames.get(i) +",";
     }              }
qry += " values " ;
qry += "(";
// This code is in a Row loop                  
for (int i=0; i<rowSet.size(); i++) { 
   if (i == (rowSet.size() -1)) 
   {
       if ((row.getRowNum()+1)==(sheet.getLastRowNum()+1))
       {    
        qry +=  rowSet.get(i) +")";
       }
       else
       {
        qry +=  rowSet.get(i) +"),";
       }
    }
    else
    {


        qry +=  rowSet.get(i) +",";
    }     
} 
语句stmt=null;
字符串qry=“插入到“+fieldValue+”(”;

对于(inti=0;i使用准备好的语句,那么MySQL/JDBC可以为您处理它

此外,当前您的数据库易受SQL注入攻击

编辑:性能也应该更好(但不确定是否值得注意),因为您使用的语句假设Excel文件中有多行