这是我用来将excel文件数据写入数据库的方法。
public static void executeSQLUpdate(String sql, List<Object> arguments) {
Connection con = null;
PreparedStatement pstmt = null;
try {
con = getConnection(); //a method that returns a java.sql.Connection to your database
System.out.println("\n01)conection :"+con);
pstmt = con.prepareStatement(sql);
System.out.println("\n02)pstn :"+pstmt);
System.out.println( "\n03)arguments size :"+arguments.size());
if (arguments != null) {
int i = 1;
System.out.println( "\n04)if :"+arguments);
for(Object o : arguments) {
System.out.println( "\n05)executeSQLUpdate");
System.out.println( "\n06)object."+o);
System.out.println("\n07)................... :"+i + o);
pstmt.setObject(i, o);
System.out.println("\n08)____________________"+i+o);
}
}
System.out.print("\n09)errorchk........... :");
//method to execute insert, update, delete statements...
pstmt.executeUpdate();
System.out.print("\n10)+++++++++++++++++ :");
} catch(SQLException e) {
System.out.println("\n11)************* :"+e);
//handle the error...
} finally {
//closing the resources (always in finally block, not in the try!)
try {
if (pstmt != null) {
pstmt.close();
}
if (con != null) {
con.close();
}
} catch (SQLException e) {
}
}
}
到 07 为止,所有系统都正常工作。但在那之后,任何系统都无法正常工作。这是什么原因?这个有什么错误吗?
这是我的输出:
run:
AAA BBB CCC
DDD EEE FFF
GGG HHH III
JJJ KKK LLL
MMM NNN OOO
PPP QQQ RRR
01)连接:com.mysql.jdbc.JDBC4Connection@6e70c7
02)pstn:com.mysql.jdbc.JDBC4PreparedStatement@29428e:插入文件_1值(**未指定,未指定,未指定**)
03)参数大小:6
04)if :[[AAA, BBB, CCC], [DDD, EEE, FFF], [GGG, HHH, III], [JJJ, KKK, LLL], [MMM, NNN, OOO], [PPP, QQQ, RRR]]
05)执行SQL更新:
06)对象:[AAA, BBB, CCC]
07)....... :1[AAA, BBB, CCC]
08) _ __ _ __ _ ___ :1[AAA, BBB, CCC]
05)执行SQL更新:
06)对象:[DDD,EEE,FFF]
07)....... :1[DDD, EEE, FFF]
08) _ __ _ __ _ ___ :1[DDD、EEE、FFF]
05)执行SQL更新:
06)对象:[GGG,HHH,III]
07)....... :1[GGG, HHH, III]
08) _ __ _ __ _ ___ :1[GGG, HHH, III]
05)执行SQL更新:
06)对象:[JJJ, KKK, LLL]
07)....... :1[JJJ, KKK, LLL]
08) _ __ _ __ _ ___ :1[JJJ, KKK, LLL]
05)执行SQL更新:
06)对象:[嗯,NNN,OOO]
07)....... :1[嗯,NNN,OOO]
08) _ __ _ __ _ ___ :1[MMM, NNN, OOO]
05)执行SQL更新:
06)对象:[PPP、QQQ、RRR]
07)....... :1[PPP, QQQ, RRR]
08) _ __ _ __ _ ___ :1[PPP, QQQ, RRR]
09)errorchk............ : 11) * ** * * : 没有为参数 2 指定值
java.sql.SQLException: No value specified for parameter 2
at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:1075)
at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:989)
at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:984)
at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:929)
at com.mysql.jdbc.PreparedStatement.checkAllParametersSet(PreparedStatement.java:2560)
at com.mysql.jdbc.PreparedStatement.fillSendPacket(PreparedStatement.java:2536)
at com.mysql.jdbc.PreparedStatement.executeUpdate(PreparedStatement.java:2383)
at com.mysql.jdbc.PreparedStatement.executeUpdate(PreparedStatement.java:2327)
at com.mysql.jdbc.PreparedStatement.executeUpdate(PreparedStatement.java:2312)
at com.project.bulk.ReadExcelFile.executeSQLUpdate(ReadExcelFile.java:112)
at com.project.bulk.ReadExcelFile.MethodToData(ReadExcelFile.java:138)
at com.project.bulk.ReadExcelFile.main(ReadExcelFile.java:39)
构建成功(总时间:3 秒)