满意答案热心问友 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); } |
|