当前位置:首页 > 开发教程 > ADO.NET >

批量更新操作

时间:2013-09-22 09:36 来源: 作者: 收藏

2345软件教程,为您打造全面的软件教程手册,无论是新奇小软件的操作还是专业软件的使用技巧,2345软件教程都会为您解疑释惑。

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

批量更新操作

.在上一个版本的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");

}


上一篇:实现事务处理

ADO.NET阅读排行

最新文章