软件开发的家园,编程爱好者的天地.

现在是:北京时间 2016/4/14 上午11:50:51 星期四

设为首页  |  加入收藏  |  网站地图

批量更新操作
发布于:第八基地 来源:duote 作者:天堂路上 时间:2016-04-11 点击:323

  批量更新操作

  .在上一个版本的ADO.NET当中,SqlDataAdapterde的Update方法将会为 DataSet当中的每一行调用一次更新操作

  .在ADO.NET2.0中,您可以设置UpdateBatchSize属性,在单步中执行多个更新

  .这样,可以提高数据更新的效率

  .UpdataBatchSize的默认值为1,使得默认的更新行为与以前版本的ADO.NET一致。

  代码经验

  public Form1()

  {

  conn = new SqlConnection(ConfigurationManager.ConnectionStrings["AWConnectionString"].ConnectionString);

  dAdapt = new SqlDataAdapter("SELECT ProductID, Name, ListPrice FROM Production.Product", conn);

  InitializeComponent();

  }

  SqlConnection conn;

  SqlDataAdapter dAdapt;

  DataSet dSet = new DataSet();

  StringBuilder logString = new StringBuilder("");

  private void batchUpdateForm_Load(System.Object sender, System.EventArgs e)

  {

  dAdapt.RowUpdating += new System.Data.SqlClient.SqlRowUpdatingEventHandler(OnRowUpdating);

  dAdapt.RowUpdated += new System.Data.SqlClient.SqlRowUpdatedEventHandler(OnRowUpdated);

  }

  private void getDataButton_Click(System.Object sender, System.EventArgs e)

  {

  dAdapt.Fill(dSet, "Product");

  productGrid.DataSource = dSet.Tables["Product"];

  }

  private void updateDataButton_Click(System.Object sender, System.EventArgs e)

  {

  SqlCommandBuilder cb = new SqlCommandBuilder(dAdapt);

  logString.Remove(0, logString.Length);

  // Enable batching by setting batch size != 1.

  dAdapt.UpdateBatchSize = int.Parse(batchSizeTextBox.Text);

  // Execute the update.

  dAdapt.Update(dSet.Tables["Product"]);

  MessageBox.Show(logString.ToString());

  }

  //handler for the RowUpdating event

  public void OnRowUpdating(object sender, SqlRowUpdatingEventArgs e)

  {

  logString.AppendLine("Starting row update");

  }

  // handler for RowUpdated event

  public void OnRowUpdated(object sender, SqlRowUpdatedEventArgs e)

  {

  logString.AppendLine("Completed row update");

  }

上一篇:实现事务处理
下一篇:应用层分页技术
对我有帮助
(0)
0%
对我没帮助
(0)
0%
返回顶部
在线反馈
在线反馈