gpt4 book ai didi

ADO.NET SqlDataAdapter 如何清除错误条件

转载 作者:行者123 更新时间:2023-12-03 09:00:27 28 4
gpt4 key购买 nike

假设您调用了 SQlDataAdapter 的更新方法:

        MyDataSet.Tables[0].DefaultView.RowStateFilter = DataViewRowState.ModifiedCurrent;
if (MyDataSet.Tables[0].DefaultView.Count > 0)
{
MySqlAdapter.Update(DS.Tables[0].DefaultView.Table);
}

并且您的用户恰好留下了一个必需的列 NULL,因此后端提示它,并且您的 catch block 捕获“不能为空”的 sql 异常。如何清除错误状态以使 ADO.NET 不会一次又一次地引发相同的错误,即使用户提供了所需的值?只要提供了缺失值,应该调用什么对象的方法,或者应该更改什么属性,以使适配器回到可以发生更新的状态?

这似乎还不够:
        internal void OnRowUpdating(object sender, System.Data.SqlClient.SqlRowUpdatingEventArgs e)
{
if (e.Status == UpdateStatus.ErrorsOccurred)
{
e.Row.RowError = e.Errors.Message;
e.Status = UpdateStatus.SkipCurrentRow;
}

}

最佳答案

当用户填写所需的值时,“不能为空”异常将消失。就这么简单,但是我再次以这种方式进行保存:

DataTable changes=MyDataSet.Tables[0].GetChanges();
if (changes!=null)
{
MySqlAdapter.Update(changes);
MyDataSet.Tables[0].AcceptChanges();
}

关于ADO.NET SqlDataAdapter 如何清除错误条件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7068573/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com