mysql executeBatch批量提交数据,varchar字段内容带(")双引号 财富值68

2016-11-02 14:25发布

java利用PreparedStatement批量提交数据后,表中所有的varchar类型字段内容均被加上了双引号,如图:

处理代码:

 sql = "INSERT INTO tbvoscdr VALUES (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)";                             PreparedStatement psts = conn.prepareStatement(sql);                             //for(int k =0;k<50;k++){                             while ((strArray = queue.poll()) != null) {                                 Date startTime =  new Date(Long.parseLong(strArray[17]));                                 Date stopTime =  new Date(Long.parseLong(strArray[18]));                                     psts.setLong(1, Long.valueOf(strArray[36]));                                     psts.setString(2, String.valueOf(strArray[0]));                                     psts.setString(3, strArray[1]);                                     psts.setString(4, strArray[2]);                                     psts.setString(5, strArray[3]);                                     psts.setString(6, strArray[4]);                                     psts.setString(7, strArray[5]);                                     psts.setString(8, strArray[7]);                                     psts.setString(9, strArray[9]);                                     psts.setString(10, strArray[10]);                                     psts.setString(11, strArray[12]);                                     psts.setInt(12, Integer.valueOf(strArray[16]));                                     psts.setString(13, df.format(startTime));                                     psts.setString(14, df.format(stopTime));                                     psts.setInt(15, Integer.valueOf(strArray[21]));                                     psts.setInt(16, Integer.valueOf(strArray[23]));                                     psts.setDouble(17, Double.valueOf(strArray[24]));                                     psts.setDouble(18, Double.valueOf(strArray[27]));                                     psts.setString(19, strArray[28]);                                     psts.setString(20, strArray[29]);                                     psts.setDouble(21, Double.valueOf(strArray[31]));                                                                                                     psts.setString(22, strArray[34]);                                     psts.setString(23, strArray[35]);                                     psts.setString(24, strArray[37]+","+strArray[38]);                                     psts.setInt(25, Integer.valueOf(strArray[39]));                                     psts.setString(26, strArray[40]);                                     psts.setString(27, strArray[41]);                                     psts.setInt(28, Integer.valueOf(strArray[42]));                                     psts.setInt(29, Integer.valueOf(strArray[43]));                                                                          psts.addBatch();                                       }                             //}                             if(count != 0){                                 psts.executeBatch(); // 执行批量处理                                 conn.commit();  // 提交                                 //System.out.println(""+count);                                                             }

尝试了很久没办法将字符串“”去除,希望各路神仙指点一二,谢谢!

String text = new String(dp.getData(),0,dp.getLength());
String[] strArray = null;
strArray = text.split(",");

被处理的strArray本身是不带有""的!

付费偷看设置
发送
1条回答
小米哥哥2 - 这个人很懒,什么都没留下
1楼 · 2016-11-02 15:08.采纳回答

不是因为你的字符串中本身就带有""吗?

一周热门 更多>