标题 | ADO.NET批量更新操作 |
内容 | 批量更新操作 .在上一个版本的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"); } |
随便看 |
|
在线学习网考试资料包含高考、自考、专升本考试、人事考试、公务员考试、大学生村官考试、特岗教师招聘考试、事业单位招聘考试、企业人才招聘、银行招聘、教师招聘、农村信用社招聘、各类资格证书考试等各类考试资料。