我想在数据库一次插入多条数据,现在是这样的情况(一个邮件表)
      表字段:[id],[收件人],[发件人],[内容],[标题]
     其中 发件人是我自己的[id],收件人是我从列表中获取的[id](比如为(1,2,3,4,5,6,7)),现在我想把这些记录一次性插入数据库,怎么写,那位兄弟帮下忙 谢谢

解决方案 »

  1.   

    收件人字段变成 text  里面存储所有的收件人ID。以某个分隔符分隔
      

  2.   

    public int[] add_Batch_Leaguer(ArrayList al) throws Exception {
            conn = da.getConnection();
            LeaguerBean lb = new LeaguerBean();
    String sql = "insert into YDZJ_COMMON_ENT_MEMBER_INFO(s_id,F_CALLOUT,F_LDTEL,FEE_FLAG,USER_NAME,NAME_INDEX,PHONENUM,SHORTNUM,POSITION,display_flag) values (?,?,?,?,?,?,?,?,?,?)";//sql
            int[] a = new int[al.size()];
            try {
                conn.setAutoCommit(false);
                stmt = conn.prepareStatement(sql);
                for (int i = 0; i < al.size(); i++) {//这是多收件人是我从列表中获取的[id](比如为(1,2,3,4,5,6,7)),                
                    lb = (LeaguerBean) al.get(i);
                    //这里是你需要绑定的参数
                    stmt.addBatch();
                }
                a = stmt.executeBatch();
                conn.commit();
            } catch (Exception ex) {
                ex.printStackTrace();
            } finally {
                da.close(conn, stmt, rs);
            }
            return a;
        }
      

  3.   

    LZ用的是什么技术啊?
    hibernate?
      

  4.   

    没用什么 就是普通的sql语句 
      

  5.   

    可以写sql语句,也可以写在.sql文件里,这样不就一次性解决了?
      

  6.   

    弄好了 我是这样写的
    public void sentEamilToTruf(EmailBean emailbean,String SelectedID) throws Exception 
    {
    StringBuffer sqlstr = new StringBuffer();
    int RecipientID=0;
    String[] id=SelectedID.split(",");
    ArrayList sql=new ArrayList();
    for(int i=0;i<id.length;i++)
    {
    RecipientID=Tools.parseInt(id[i].toString());
    sqlstr.append("Insert into EMAIL(Title,Content,Recipient,Fromer,Time,IsFriendLetter,IsTurfLetter)values(");
    sqlstr.append(Tools.SqlStr(emailbean.getTitle())+",");
    sqlstr.append(Tools.SqlStr(emailbean.getContent())+",");
    sqlstr.append(RecipientID+",");
    sqlstr.append(Tools.parseInt(emailbean.getFromer())+",");
    sqlstr.append("now(),");
    sqlstr.append("0,");
    sqlstr.append("1");
    sqlstr.append(")");
    sql.add(sqlstr.toString());
    sqlstr.delete(0, sqlstr.capacity());
    }
    DBDataSource.executeSQL(sql, con);
    }
      

  7.   

     LZ,能具体交流下么?你的DBDataSource里怎么写啊?可否留下联系方式。我邮箱:[email protected]