我在asp.net设计中,页面中使用ArrayList保存了多条记录,我想将ArrayList中的所有数据一次性提交到数据库中该怎么实现啊?
比如我的ArrayList名字为tasklist,保存的记录类型为task(数据成员有taskID和taskNM),要插入的数据库表的名字为tasktable(taskID,taskNM).直接使用sqlconnection,不用存储过程.

解决方案 »

  1.   

    使用事务
    public static int ExecuteSqls(string[] strSqls)
    {
    SqlConnection myCn=new SqlConnection(strConn);
    SqlCommand myCmd=new SqlCommand();
    myCmd.CommandTimeout=900000000;
    int j=strSqls.Length;
    try
    {
    myCn.Open();
    }
    catch(SqlException ex)
    {
    throw new Exception(ex.Message);
    } SqlTransaction myTrans=myCn.BeginTransaction();

    try
    {
    myCmd.Connection=myCn;
    myCmd.Transaction=myTrans;
    for(int i=0;i<strSqls.Length;i++)
    {
    myCmd.CommandText=strSqls[i].ToStrin();
    myCmd.ExecuteNonQuery();
    }
    myTrans.Commit();
    return 0;
    }
    catch(SqlException ex)
    {
    myTrans.Rollback();
    throw new Exception(ex.Message);
    }
    finally
    {
    myCmd.Dispose();
    myCn.Close();
    }
    }
      

  2.   

    能够根据我说的实际条件给个实例吗?string[] strSqls表示什么?ExecuteSqls函数又在什么地方调用?谢谢!!!!!
      

  3.   

    1、使用大循环,组合SQL语句连无数次数据库来解决;
    2、构造dataset,用dataadapter的update方法;自己看看用什么方便吧
      

  4.   

    循环读取tasklist的值,然后生成一条insert语句,将这些所有的insert语句形成一个数组,就是string[] strSqls,这个数组存放的是所有的insert语句,然后调用ExecuteSqls函数。