Java 将excel中的行插入mysql会引发JDBC异常
为了正确读取excel日期值,我面临另一个难题。插入excel行时,VARCHAR列的单元格引号丢失 例如,我将一行读入如下列表 [1,阿桑,2013-12-12] 然后,当形成查询并执行SQL语句时,我得到了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 (
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文件中有多行