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 Managed 提供者會建立 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 中為 Shared) 成員都是執行緒安全的。並不是所有的執行個體成員都保證可以用於所有的執行緒。

請參閱

參考

System.Data.SqlServerCe 命名空間

SqlCeErrorCollection

SqlCeException