分享

dataset如何批量更新添加数据库

 醉人说梦 2014-07-30

满意答案

热心问友 2012-01-31

 /*先读取数据*/
        OleDbConnection conn = new OleDbConnection("provider=microsoft.jet.oledb.4.0; data source=D:\\url.mdb");
        OleDbDataAdapter da = new OleDbDataAdapter("select  *  from lx", conn);
        DataSet ds = new DataSet();
        da.Fill(ds);
        for (int i = 0; i < ds.Tables[0].Rows.Count; i++)
            ds.Tables[0].Rows[i]["text"] = (i + 1).ToString();
        /*批量更新*/
        OleDbCommand cmd = new OleDbCommand("update lx set [text]=@txt where id=@id", conn);
        cmd.Parameters.Add("@txt", OleDbType.VarChar, 50, "text");
        cmd.Parameters.Add("@id", OleDbType.Integer, 4, "id");
        da.UpdateCommand = cmd;
        da.Update(ds.Tables[0]);

其他回答(1)

阳光男孩 2级 2012-01-31

///         /// 更新DataSet        ///         ///         ///         ///         ///         public static void Update(string connectionString, DataSet ds, string sqlBefore, string sqlAfter)        {            SqlDataAdapter da = null;            SqlTransaction tran = null;            using(SqlConnection cnn = new SqlConnection(connectionString))            {                cnn.Open();                tran = cnn.BeginTransaction();                if(!string.IsNullOrEmpty(sqlBefore.Trim()))   //执行更新前的SQL                {                    using(SqlCommand cmd = new SqlCommand(sqlBefore.Trim(), cnn, tran))                    {                        cmd.ExecuteNonQuery();                    }                }                foreach(DataTable dt in ds.Tables)                {                    string sql = string.Format("SELECT * FROM {0} WHERE 1 = 0 ", dt.TableName);                    if(dt.ExtendedProperties["SELECT"] != null)                    {                        sql = dt.ExtendedProperties["SELECT"].ToString();                    }                    da = new SqlDataAdapter();                    SqlCommandBuilder cb = new SqlCommandBuilder(da);                    da.SelectCommand = new SqlCommand(sql, cnn, tran);                    da.Update(ds, dt.TableName);                }                if(!string.IsNullOrEmpty(sqlAfter.Trim()))   //执行更新后的SQL                {                    using(SqlCommand cmd = new SqlCommand(sqlAfter.Trim(), cnn, tran))                    {                        cmd.ExecuteNonQuery();                    }                }                tran.Commit();            }        }        ///         /// 更新DataSet        ///         ///         ///         ///         public static void Update(string connectionString, DataSet ds)        {            Update(connectionString, ds, string.Empty, string.Empty);        }

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多