다음을 통해 공유


SqlCeDataAdapter.RowUpdating 이벤트

Update를 호출하는 동안 데이터 소스에 대한 업데이트 명령이 실행되기 전에 발생합니다. 즉 업데이트를 시도하면 이 이벤트가 발생합니다.

네임스페이스: System.Data.SqlServerCe
어셈블리: System.Data.SqlServerCe(system.data.sqlserverce.dll)

구문

‘선언
Public Event RowUpdating As SqlCeRowUpdatingEventHandler
‘사용 방법
Dim instance As SqlCeDataAdapter
Dim handler As SqlCeRowUpdatingEventHandler

AddHandler instance.RowUpdating, handler
public event SqlCeRowUpdatingEventHandler RowUpdating
public:
event SqlCeRowUpdatingEventHandler^ RowUpdating {
    void add (SqlCeRowUpdatingEventHandler^ value);
    void remove (SqlCeRowUpdatingEventHandler^ value);
}
/** @event */
public void add_RowUpdating (SqlCeRowUpdatingEventHandler value)

/** @event */
public void remove_RowUpdating (SqlCeRowUpdatingEventHandler value)
JScript에서는 이벤트를 사용할 수 있지만 새로 선언할 수는 없습니다.

설명

Update를 사용하면 업데이트되는 각 행에 대해 두 개의 이벤트가 발생합니다. 실행 순서는 다음과 같습니다.

  1. DataRow의 값이 매개 변수 값으로 이동합니다.

  2. OnRowUpdating 이벤트가 발생합니다.

  3. 명령이 실행됩니다.

  4. 명령이 FirstReturnedRecord로 설정되면 첫 번째 반환 결과가 DataRow에 배치됩니다.

  5. OnRowUpdated 이벤트가 발생합니다.

  6. AcceptChanges가 호출됩니다.

예제

다음 예제에서는 사용 중인 RowUpdatingRowUpdated 이벤트를 보여 줍니다.

Public Sub Snippet5()
    ' Create DataAdapter
    '
    Dim adp As New SqlCeDataAdapter("SELECT * FROM products", "Data Source = MyDatabase.sdf")

    Dim cb As New SqlCeCommandBuilder(adp)

    ' Create and fill the dataset (select only first 5 rows)
    '
    Dim ds As New DataSet()
    adp.Fill(ds, 0, 5, "Table")

    ' Modify dataSet
    '
    Dim table As DataTable = ds.Tables("Table")
    table.Rows(1)("Product Name") = "Asian Chai"

    ' Add handlers
    '
    AddHandler adp.RowUpdating, AddressOf OnRowUpdating
    AddHandler adp.RowUpdated, AddressOf OnRowUpdated

    ' Update, this operation fires two events (RowUpdating/RowUpdated)  
    '
    adp.Update(ds, "Table")

    ' Remove handlers
    '
    RemoveHandler adp.RowUpdating, AddressOf OnRowUpdating
    RemoveHandler adp.RowUpdated, AddressOf OnRowUpdated

End Sub 'Snippet5


Private Shared Sub OnRowUpdating(ByVal sender As Object, ByVal e As SqlCeRowUpdatingEventArgs)
    Console.WriteLine("OnRowUpdating")
    Console.WriteLine(e.Command.CommandText)
    Console.WriteLine(e.StatementType)
    Console.WriteLine(e.Status)

End Sub 'OnRowUpdating


Private Shared Sub OnRowUpdated(ByVal sender As Object, ByVal e As SqlCeRowUpdatedEventArgs)
    Console.WriteLine("OnRowUpdated")
    Console.WriteLine(e.Command.CommandText)
    Console.WriteLine(e.StatementType)
    Console.WriteLine(e.Status)

End Sub 'OnRowUpdated
public void Snippet5()
{
    // Create DataAdapter
    //
    SqlCeDataAdapter adp = new SqlCeDataAdapter(
        "SELECT * FROM products",
        "Data Source = MyDatabase.sdf");

    SqlCeCommandBuilder cb = new SqlCeCommandBuilder(adp);

    // Create and fill the dataset (select only first 5 rows)
    //
    DataSet ds = new DataSet();
    adp.Fill(ds, 0, 5, "Table");

    // Modify dataSet
    //
    DataTable table = ds.Tables["Table"];
    table.Rows[1]["Product Name"] = "Asian Chai";

    // Add handlers
    //
    adp.RowUpdating += new SqlCeRowUpdatingEventHandler(OnRowUpdating);
    adp.RowUpdated += new SqlCeRowUpdatedEventHandler(OnRowUpdated);

    // Update, this operation fires two events (RowUpdating/RowUpdated)  
    //
    adp.Update(ds, "Table");

    // Remove handlers
    //
    adp.RowUpdating -= new SqlCeRowUpdatingEventHandler(OnRowUpdating);
    adp.RowUpdated -= new SqlCeRowUpdatedEventHandler(OnRowUpdated);
}

private static void OnRowUpdating(object sender, SqlCeRowUpdatingEventArgs e)
{
    Console.WriteLine("OnRowUpdating");
    Console.WriteLine(e.Command.CommandText);
    Console.WriteLine(e.StatementType);
    Console.WriteLine(e.Status);
}

private static void OnRowUpdated(object sender, SqlCeRowUpdatedEventArgs e)
{
    Console.WriteLine("OnRowUpdated");
    Console.WriteLine(e.Command.CommandText);
    Console.WriteLine(e.StatementType);
    Console.WriteLine(e.Status);
}

.NET Framework 보안

  • 직접 실행 호출자의 경우 완전히 신뢰합니다. 이 멤버는 부분적으로 신뢰할 수 있는 코드에서 사용할 수 없습니다. 자세한 내용은 을(를) 참조하십시오.

플랫폼

Windows CE, Windows Mobile for Pocket PC, Windows Mobile for Smartphone, Windows XP Professional x64 Edition, Windows XP SP2

.NET Framework에서 모든 플래폼의 모든 버전을 지원하지는 않습니다. 지원되는 버전의 목록은 시스템 요구 사항을 참조하십시오.

버전 정보

.NET Compact Framework

2.0, 1.0에서 지원

참고 항목

참조

SqlCeDataAdapter 클래스
SqlCeDataAdapter 멤버
System.Data.SqlServerCe 네임스페이스