zhangyanfengzi 2012-08-30 13:38 采纳率: 100%
浏览 543
已采纳

JDBC 中的pstmt.setString(numb,(String)list.get(j));出错

    StringBuffer sql = new StringBuffer();

    sql.append("insert into " + DBNAME + "." + TABLTEST);

    Connection conn = JdbcUtil.getConnection();

    PreparedStatement pstmt = JdbcUtil.getPreparedStatement(conn, sql.toString());

    long startTime = System.currentTimeMillis();

    try {

        int count = 0;
        int a = 0;
        List<String> list = new LinkedList<String>();
        /** 读取行 */
        for (int i = 0; i < cu.getRowNum(); i++) {
            /** 读取行中的所有列 */
            for (int x = 0; x < cu.getColLineNum(i); x++) {
                String name = cu.getString(i, x); // 第一行每列的数据

// System.out.print(name);
list.add(name);
// System.out.print(name+"-");
}
System.out.println( " ");
if(i==0){
sql.append("(");

                for(int j = 0;j<list.size();j++){
                    sql.append(list.get(j)+", ");
                }
                sql.deleteCharAt(sql.length()-2);
                sql.append(")");


                sql.append(" values(");

                for(int u = 0;u<list.size();u++){
                    sql.append("?,");
                }
                sql.deleteCharAt(sql.length()-1);
                sql.append(")");
                System.out.println(sql+"=");
                list.clear();
            }else {
                for(int j = 0;j<list.size();j++){

// System.out.println(list.get(j)+"==");
int numb =j+1;
System.out.println(sql+"=");
System.out.println(j +" " +list.get(j));
pstmt.setString(numb,(String)list.get(j));

// conn.setAutoCommit(false); // 若改为true 插入中遇到主键冲突还会继续插入,具体看需求
// pstmt.addBatch();
}
list.clear();

  • 写回答

4条回答 默认 最新

  • jinnianshilongnian 2012-08-30 13:47
    关注

    把 PreparedStatement pstmt = JdbcUtil.getPreparedStatement(conn, sql.toString());

    放在

    for(int j = 0;j<list.size();j++){ 之前

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(3条)

报告相同问题?

悬赏问题

  • ¥15 求学软件的前人们指明方向🥺
  • ¥50 如何增强飞上天的树莓派的热点信号强度,以使得笔记本可以在地面实现远程桌面连接
  • ¥15 MCNP里如何定义多个源?
  • ¥20 双层网络上信息-疾病传播
  • ¥50 paddlepaddle pinn
  • ¥20 idea运行测试代码报错问题
  • ¥15 网络监控:网络故障告警通知
  • ¥15 django项目运行报编码错误
  • ¥15 STM32驱动继电器
  • ¥15 Windows server update services