sql="insert into ammeter_fact(TIME_ID,ammeter_id,am_value,mult_ratio,";             
sql+="plant_id) values("; 
sql+="+time_id+"; 
sql+=","; 
sql+=40001; 
sql+=","; 
sql+='"+am_value_1+"'; 
sql+=","; 
sql+='"+mult_ratio_1+"'; 
sql+=","; 
sql+=200; 
sql+=")"; 整型字段:"+test+"
字符型字段:'"+test+"'
.....

解决方案 »

  1.   

    比如有4条记录同时插如的话
    把没个字段的变量用数组存起来:
    TIME_ID,ammeter_id,am_value,mult_ratio,plant_id
    String sql="";
    String[] time_ids;
    String[] ammeter_ids;
    .......
    if(time_ids!=null||ammeter!=null...)
    {
    for(int i=0;i<time_ids.length;i++)
    {sql=sql="insert into ammeter_fact(TIME_ID,ammeter_id,am_value,mult_ratio,";             
    sql+="plant_id) values("; 
    sql+=time_id[i]; 
    sql+=","; 
    sql+=ammeter_id[i]; 
    sql+=","; 
    sql+=am_value[i]; 
    sql+=","; 
    sql+=mult_ratio[i]; 
    sql+=","; 
    sql+=plant_id[i]; 
    sql+=");"; 
    stmt.executeUpdate(sql); 
    }
    }
      

  2.   

    用JTA,Java事务接口。excuteBatch()方法可以同时插入、更新一批操作,但是只能对同一个表进行。
      

  3.   

    excuteBatch()怎么用你没看清我的问题,不是这原因
    的“你”是我么
      

  4.   

    tomatowitch(多多) :不是你。我说‘你’是 zxhong(红);不过你写的,我太不明白,我刚刚学习jsp,你能说详细吗?最好带中文注视,谢谢
      

  5.   

    那还不如用预编译PreparedStatement来处理多条类似的SQL语句呢!!建议去IBM的网站看看基本的JDBC教程。
      

  6.   

    String sql="";
    String[] time_ids;/*把要插入表中的字段值定义为数组,因为要插很多条记录*/
    String[] ammeter_ids;
    .......
    if(time_ids!=null||ammeter!=null...)//如果得到的数组不为空,就把数组中的值插到数据库的表中
    {
    for(int i=0;i<time_ids.length;i++)/*根据数组的长度 循环形成不同的sql,执行executeUpdate(sql); */{sql=sql="insert into ammeter_fact(TIME_ID,ammeter_id,am_value,mult_ratio,";             
    sql+="plant_id) values("; 
    sql+=time_id[i]; 
    sql+=","; 
    sql+=ammeter_id[i]; 
    sql+=","; 
    sql+=am_value[i]; 
    sql+=","; 
    sql+=mult_ratio[i]; 
    sql+=","; 
    sql+=plant_id[i]; 
    sql+=");"; 
    stmt.executeUpdate(sql); 
    }
    }
      

  7.   

    楼上的方法效率太低了
    建议采用 flowercat(小强) 的方法,批量更新
    至于怎么用的,搜索本论坛可以找到!