zoukankan      html  css  js  c++  java
  • ADO.NET 快速入门(八):处理 Errors

    除了 Try/Catch 和 Exceptions 以外,新的 ADO.NET 数据框架也允许在 DataSet 的每行数据添加错误信息。如果 Updates 或者其他操作失败,SqlDataAdapters 为 Rows 附加上错误信息。此外,你可以过滤错误行呈现给用户,或者把它传递给错误处理函数。
     
    即使用 XML 或者 XML Web Services 传输,Errors 仍然伴随 DataSet。 你可以使用 RowError 属性为 DataSet 的 DataRow 设置错误信息。
     
    示例一:
     
                // 设置行的自定义错误
                myDataSet.Tables["Customers"].Rows[0].RowError = "添加一个自定义错误";
                myDataSet.Tables["Customers"].Rows[1].RowError = "再另一个自定义错误";
    现在,你可以利用 GetErrors() 方法获取 DataTable 中的错误信息。也可以利用 HasErrors 属性测试 Errors。
     
    示例二:
     
                SqlConnection myConnection = new SqlConnection("server=(local);Integrated Security=SSPI;database=northwind");
                SqlDataAdapter myDataAdapter = new SqlDataAdapter("SELECT * FROM Customers", myConnection);
    
                DataSet myDataSet = new DataSet();
                myDataAdapter.Fill(myDataSet, "Customers");
    
                // 设置行的自定义错误
                myDataSet.Tables["Customers"].Rows[0].RowError = "添加一个自定义错误";
                myDataSet.Tables["Customers"].Rows[1].RowError = "再另一个自定义错误";
    
                if (myDataSet.Tables["Customers"].HasErrors)
                {
                    // 获取包含错误的 DataRow 对象数组
                    DataRow[] errDataRows = myDataSet.Tables["Customers"].GetErrors();
                    Console.WriteLine("DataTable " + myDataSet.Tables["Customers"].TableName + " 包含 " + errDataRows.Length.ToString() + " 个 Errors!");
    
                    for (int i = 0; i <= errDataRows.Length - 1; i++)
                    {
                        Console.WriteLine("错误行 " + errDataRows[i]["CustomerID"].ToString() + " -- 错误信息:" + errDataRows[i].RowError);
                    }
                }
                else
                {
                    Console.WriteLine("==========================");
                    Console.WriteLine("DataTable " + myDataSet.Tables["Customers"].TableName + " 没有发现错误!");
                }
    原文链接:
  • 相关阅读:
    Windows--查看端口占用
    设计模式--策略模式--简记
    Java--运算符的优先级表
    乐观锁和悲观锁--简记
    设计模式--适配器模式--简记
    设计模式--建造者模式--简记
    设计模式--抽象工厂模式--简记
    设计模式--工厂方法模式--简记
    寒假学习进度
    程序员修炼之道--从小工到专家阅读笔记03
  • 原文地址:https://www.cnblogs.com/JavCof/p/3437453.html
Copyright © 2011-2022 走看看