SqlDataAdapter.RowUpdating()-如何在Fiels为Null时取消行更新

本文关键字:Null 取消 更新 Fiels RowUpdating SqlDataAdapter | 更新日期: 2023-09-27 17:59:45

我正在使用sqlserver2008。

我有一个选择查询

Con.Open();
String MyQuery="Select * from MyTable where MyField1 is not null";
MySQLDataAdapter=New SqlDataAdapter(MyQuery,Con);
MySQLDataAdapter.Fill(MyTable);
Con.Close();
For (int I1=0;I1<=50;I1++)
{
 DataRow DRw = MyTable.NewRow();
 MyTable.Rows.Add(DRw); //Null Columns are added
}
blah...blah...blah..
//For Save
MyWMSDatas.VehDAp.Update(MyTable);

现在我需要的是,我想提高SqlDataAdapter.RowUpdating()并且希望在myField1不为null时进行更新,并且对于null,不应更新该行。。。

任何想法。。。。

感谢的帮助

SqlDataAdapter.RowUpdating()-如何在Fiels为Null时取消行更新

向适配器的RowUpdating事件添加一个处理程序:

MyWMSDatas.VehDAp.RowUpdating += VehDAp_RowUpdating

在处理程序中,检查myField1,并将参数e(类型为RowUpdatingEventArgs的)的Status属性设置为UpdateStatus.SkipCurrentRow(或您认为更合适的任何其他值,如ErrorsOccurred…):

private static void OnRowUpdating(object sender, SqlRowUpdatingEventArgs e) 
{
    if(e.Row....myField1...)
        e.Status =  UpdateStatus.SkipCurrentRow
    ....
}