Click here to view and discuss this page in DocCommentXchange. In the future, you will be sent there automatically.

SQL Anywhere 11.0.1 (中文) » SQL Anywhere 服务器 - 编程 » SQL Anywhere 数据访问 API » SQL Anywhere .NET 数据提供程序

 

出错处理和 SQL Anywhere .NET 数据提供程序

您的应用程序必须设计为可处理出现的任何错误,包括 ADO.NET 错误。ADO.NET 错误在代码中的处理方法与应用程序中其它错误的处理方法相同。

只要执行中出现错误,SQL Anywhere .NET 数据提供程序就会抛出 SAException 对象。每个 SAException 对象都包括 SAError 对象列表,而这些错误对象包括错误消息和代码。

错误与冲突不同。冲突发生在将更改应用于数据库时。应用程序中应包括一个用于计算正确值或在发生冲突时记录冲突的过程。

有关处理冲突的详细信息,请参见解决使用 SADataAdapter 时的冲突

.NET 数据提供程序错误处理示例

下面的示例来自 Simple 示例项目。所有在执行期间发生并且源自 SQL Anywhere .NET 数据提供程序对象的错误均通过在窗口中显示错误消息来处理。以下代码捕获错误并显示其消息:

catch( SAException ex ) {
    MessageBox.Show( ex.Errors[0].Message );
}
连接错误处理示例

以下示例来自 Table Viewer 示例项目。如果应用程序尝试连接数据库时发生错误,以下代码将使用 try 和 catch 块捕获错误并显示其消息:

try {
    _conn = new SAConnection( txtConnectString.Text );
    _conn.Open();
  } catch( SAException ex ) {
    MessageBox.Show( ex.Errors[0].Source + " : "
     + ex.Errors[0].Message + " (" +
     ex.Errors[0].NativeError.ToString() + ")",
         "Failed to connect" );

如需更多错误处理示例,请参见了解 Simple 示例项目了解 Table Viewer 示例项目

有关错误处理的详细信息,请参见SAFactory 类SAError 类