다음을 통해 공유


SqlCeResultSet 클래스

업데이트, 스크롤 및 바인딩이 가능한 커서입니다.

네임스페이스:  System.Data.SqlServerCe
어셈블리:  System.Data.SqlServerCe.dll의 System.Data.SqlServerCe

구문

‘선언
Public Class SqlCeResultSet _
    Inherits SqlCeDataReader _
    Implements IEnumerable, IListSource
‘사용 방법
Dim instance As SqlCeResultSet
public class SqlCeResultSet : SqlCeDataReader, 
    IEnumerable, IListSource
public ref class SqlCeResultSet : public SqlCeDataReader, 
    IEnumerable, IListSource
type SqlCeResultSet =  
    class
        inherit SqlCeDataReader
        interface IEnumerable
        interface IListSource
    end
public class SqlCeResultSet extends SqlCeDataReader implements IEnumerable, IListSource

주의

이전 버전의 SQL Server Compact 3.5에서는 데이터에 컨트롤을 바인딩하려면 DataSet을 사용해야 합니다. SqlCeDataReaderDataSet보다 높은 성능을 제공하지만 정방향 전용이고 업데이트는 할 수 없는 커서입니다. SQL Server Compact 3.5에서 SqlCeResultSet은 SqlCeDataReader와 비슷한 성능에 DataSet의 업데이트 및 스크롤 기능이 결합되어 있습니다.

SqlCeResultSet을 만들려면 개체의 생성자를 사용하는 대신 ExecuteResultSet 메서드를 호출해야 합니다.

ResultSetOptions를 사용하여 SqlCeResultSet의 스크롤 기능, 업데이트 기능 및 민감도를 지정할 수 있습니다. 민감도는 SqlCeResultSet이 내부 또는 외부 요인에 의한 변경 사항을 인식할 수 있는지 여부를 결정합니다.##########

SqlCeDataReader의 기본 위치는 첫 번째 레코드 앞입니다. 데이터에 액세스하려면 읽기를 호출해야 합니다. 첫 번째 읽기는 커서를 첫 번째 레코드에 배치합니다. 동작은 SqlCeResultSet.Read 메서드의 동작과 다릅니다. SqlCeResultSet의 기본 위치는 첫 번째 레코드입니다. SqlCeResultSet을 만든 후 바로 SqlCeResultSet.Read 메서드를 호출하면 커서가 두 번째 레코드로 이동합니다.

예제

다음 예제에서는 SQL Server Compact 3.5 데이터베이스를 새로 만듭니다. 그런 다음 데이터 집합을 데이터로 채우도록 SqlCeResultSet이 초기화됩니다.

Dim conn As SqlCeConnection = Nothing

Try
    File.Delete("Test.sdf")

    Dim engine As New SqlCeEngine("Data Source = Test.sdf")
    engine.CreateDatabase()

    conn = New SqlCeConnection("Data Source = Test.sdf")
    conn.Open()

    Dim cmd As SqlCeCommand = conn.CreateCommand()
    cmd.CommandText = "CREATE TABLE myTable (col1 INT, col2 MONEY, col3 NVARCHAR(200))"
    cmd.ExecuteNonQuery()

    cmd.CommandText = "SELECT * FROM myTable"

    Dim rs As SqlCeResultSet = cmd.ExecuteResultSet(ResultSetOptions.Updatable Or ResultSetOptions.Scrollable)

    Dim rec As SqlCeUpdatableRecord = rs.CreateRecord()

    rec.SetInt32(0, 34)
    rec.SetDecimal(1, System.Convert.ToDecimal(44.66))
    rec.SetString(2, "Sample text")

    rs.Insert(rec)
Catch e As Exception
    MessageBox.Show(e.Message)
Finally
    conn.Close()
End Try
SqlCeConnection conn = null;

try
{
    File.Delete("Test.sdf");

    SqlCeEngine engine = new SqlCeEngine("Data Source = Test.sdf");
    engine.CreateDatabase();

    conn = new SqlCeConnection("Data Source = Test.sdf");
    conn.Open();

    SqlCeCommand cmd = conn.CreateCommand();
    cmd.CommandText = "CREATE TABLE myTable (col1 INT, col2 MONEY, col3 NVARCHAR(200))";
    cmd.ExecuteNonQuery();

    cmd.CommandText = "SELECT * FROM myTable";

    SqlCeResultSet rs = cmd.ExecuteResultSet(ResultSetOptions.Updatable | 
        ResultSetOptions.Scrollable);

    SqlCeUpdatableRecord rec = rs.CreateRecord();

    rec.SetInt32(0, 34);
    rec.SetDecimal(1, (decimal)44.66);
    rec.SetString(2, "Sample text");

    rs.Insert(rec);
}
catch (Exception e)
{
    MessageBox.Show(e.Message);
}
finally
{
    conn.Close();
}

상속 계층 구조

System. . :: . .Object
  System. . :: . .MarshalByRefObject
    System.Data.Common. . :: . .DbDataReader
      System.Data.SqlServerCe. . :: . .SqlCeDataReader
        System.Data.SqlServerCe..::..SqlCeResultSet

스레드로부터의 안전성

Any public static (Shared in Microsoft Visual Basic) members of this type are thread safe. Any instance members are not guaranteed to be thread safe.

참고 항목

참조

SqlCeResultSet 멤버

System.Data.SqlServerCe 네임스페이스