Share via


SqlCeError 类

收集与数据源返回的警告或错误有关的信息。无法继承此类。

继承层次结构

System.Object
  System.Data.SqlServerCe.SqlCeError

命名空间:  System.Data.SqlServerCe
程序集:  System.Data.SqlServerCe(在 System.Data.SqlServerCe.dll 中)

语法

声明
<SerializableAttribute> _
Public NotInheritable Class SqlCeError
用法
Dim instance As SqlCeError
[SerializableAttribute]
public sealed class SqlCeError
[SerializableAttribute]
public ref class SqlCeError sealed
[<SealedAttribute>]
[<SerializableAttribute>]
type SqlCeError =  class end
public final class SqlCeError

SqlCeError 类型公开以下成员。

属性

  名称 说明
公共属性 ErrorParameters 获取最后三个错误参数。SQL Server Compact 使用错误参数来提供有关错误的其他详细信息。
公共属性 HResult 返回标识错误类型的 HRESULT 值。
公共属性 Message 获取对错误进行描述的文本。
公共属性 NativeError 获取 SqlCeError 的本机错误号。有关这些错误的详细信息,请参阅 SQL Server Compact 联机丛书中“疑难解答”一节中的“SQL Server Compact 错误”。
公共属性 NumericErrorParameters 获取前三个错误参数。SQL Server Compact 使用错误参数来提供有关错误的其他详细信息。
公共属性 Source 获取产生错误的访问接口的名称。

页首

方法

  名称 说明
公共方法 Equals (继承自 Object
受保护方法 Finalize (继承自 Object
公共方法 GetHashCode (继承自 Object
公共方法 GetType (继承自 Object
受保护方法 MemberwiseClone (继承自 Object
公共方法 ToString 获取错误消息的完整文本。 (覆盖 Object.ToString()。)

页首

注释

在发生错误时,System.Data.SqlServerCe 托管提供程序将创建一个 SqlCeError 的实例。SqlCeErrorCollection 包含 SqlCeError 的一个或多个实例。

示例

下面的示例演示 SqlCeError 的典型用法。

Try
    Dim repl As New SqlCeReplication()

    ' Fill repl properites here
    ' ...
    ' SqlCeReplication may throw SqlCeException which contains a 
    ' collection of errors; SQL Mobile database engine always
    ' returns one error in the collection
    '
    repl.Synchronize()
Catch e As SqlCeException
    Dim err As SqlCeError
    For Each err In e.Errors
        ' Use SqlCeError properties if you need specific
        ' application logic depending on the error condition
        '
        If 28577 = [err].NativeError Then 'SSCE_M_SCHEMAHASCHANGED
            ' Error specific logic goes here...
            '
        End If

        ' Note: For native error numbers, refer to SQL Server Mobile Errors
        ' in the SQL Server Mobile Books Online
        '
        MessageBox.Show([err].Message)
    Next err
End Try
try
{
    SqlCeReplication repl = new SqlCeReplication();

    // Fill repl properites here
    // ...

    // SqlCeReplication may throw SqlCeException which contains a 
    // collection of errors; SQL Mobile database engine always
    // returns one error in the collection
    //
    repl.Synchronize();
}
catch (SqlCeException e)
{
    foreach (SqlCeError error in e.Errors)
    {
        // Use SqlCeError properties if you need specific
        // application logic depending on the error condition
        //
        if (28577 == error.NativeError /*SSCE_M_SCHEMAHASCHANGED*/)
        {
            // Error specific logic goes here...
            //
        }

        // Note: For native error numbers, refer to SQL Server Mobile Errors
        // in the SQL Server Mobile Books Online
        //
        MessageBox.Show(error.Message);
    }
}

线程安全

此类型的任何公共静态(在 Microsoft Visual Basic 中为共享)成员是线程安全的。不保证所有实例成员都对于线程安全的。

请参阅

参考

System.Data.SqlServerCe 命名空间

SqlCeErrorCollection

SqlCeException