共用方式為


SqlCeResultSet.ReadAbsolute Method

將讀取器移至 ResultSet 中的特定資料錄。

命名空間: System.Data.SqlServerCe
組件: System.Data.SqlServerCe (在 system.data.sqlserverce.dll)

語法

'宣告
Public Function ReadAbsolute ( _
    position As Integer _
) As Boolean
public bool ReadAbsolute (
    int position
)
public:
bool ReadAbsolute (
    int position
)
public boolean ReadAbsolute (
    int position
)
public function ReadAbsolute (
    position : int
) : boolean

參數

  • position
    讀取器要移至的位置。

傳回值

如果作業執行成功則為 true,否則為 false。

備註

<codeEntityReference autoUpgrade="true">M:System.Data.SqlServerCe.SqlCeResultSet.ReadAbsolute(System.Int32)</codeEntityReference> 以 0 為基底;呼叫 <codeInline>ReadAbsolute(0)</codeInline> 將傳回 <languageKeyword>ResultSet</languageKeyword> 的第一個資料列。

這個方法會根據書籤所儲存的資料列位置,讀取資料列的值。例如,假設您擁有的資料表具有 10 個資料列,並開啟兩個 ResultSet:rs1 和 rs2。您要在 rs1 上呼叫 ReadAbsolue(5),然後將此資料列的值變更為 -1。該資料列的位置隨即變更為資料列清單中的第一個位置,資料列 4 則在第五個位置。但是,如果您現在於 rs2 上呼叫 ReadAbsolute(5),則會傳回 -1 的值。ResultSet rs2 維護原始第五個資料列的書籤,並繼續讀取該資料列而不管其位置是持續變更中。

如果您將正整數傳遞至這個函式,讀取器會從第一個資料錄往前移動指定的資料錄數目。如果您將負整數傳遞至這個函式,讀取器會從最後一個資料錄往回移動指定的資料錄數目。

範例

下列範例會建立 ResultSet 物件,然後呼叫數種方法,其中包括 ReadAbsolute

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)"
    cmd.ExecuteNonQuery()

    cmd.CommandText = "SELECT * FROM myTable"

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

    Dim rec As SqlCeUpdatableRecord = rs.CreateRecord()

    ' Insert 10 records
    '
    Dim i As Integer
    For i = 0 To 9
        rec.SetInt32(0, i)
        rs.Insert(rec)
    Next i

    ' Scroll through the results
    '
    If True = rs.ReadFirst() Then
        MessageBox.Show("col1 = " & rs.GetInt32(0)) 'ordinal
    End If

    If True = rs.ReadRelative(5) Then
        MessageBox.Show("col1 = " & rs.GetInt32(0)) 'ordinal
    End If

    If True = rs.ReadLast() Then
        MessageBox.Show("col1 = " & rs.GetInt32(0)) 'ordinal
    End If

    If True = rs.ReadPrevious() Then
        MessageBox.Show("col1 = " & rs.GetInt32(0)) 'ordinal
    End If

    If True = rs.ReadAbsolute(5) Then
        MessageBox.Show("col1 = " & rs.GetInt32(0)) 'ordinal
    End If
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)";
    cmd.ExecuteNonQuery();

    cmd.CommandText = "SELECT * FROM myTable";

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

    SqlCeUpdatableRecord rec = rs.CreateRecord();

    // Insert 10 records
    //
    for (int i = 0; i < 10; i++)
    {
        rec.SetInt32(0, i);
        rs.Insert(rec);
    }

    // Scroll through the results
    //
    if (true == rs.ReadFirst())
    {
        MessageBox.Show("col1 = " + rs.GetInt32(0 /*ordinal*/));
    }

    if (true == rs.ReadRelative(5))
    {
        MessageBox.Show("col1 = " + rs.GetInt32(0 /*ordinal*/));
    }

    if (true == rs.ReadLast())
    {
        MessageBox.Show("col1 = " + rs.GetInt32(0 /*ordinal*/));
    }

    if (true == rs.ReadPrevious())
    {
        MessageBox.Show("col1 = " + rs.GetInt32(0 /*ordinal*/));
    }

    if (true == rs.ReadAbsolute(5))
    {
        MessageBox.Show("col1 = " + rs.GetInt32(0 /*ordinal*/));
    }
}
catch (Exception e)
{
    MessageBox.Show(e.Message);
}
finally
{
    conn.Close();
}

執行緒安全性

任何公用靜態 (共用 在 Microsoft Visual Basic) 此型別的成員具備執行緒安全。不保證任何執行個體成員安全執行緒。

平台

開發平台

Windows Vista, Windows Mobile 5.0, Windows XP Professional with Service Pack 2 (SP2), Windows Server 2003, Windows Mobile 2003 for Pocket PC, Windows CE 5.0
版本資訊
.NET Framework 及 NET Compact Framework
支援於 3.5
.NET Framework
支援於 3.0
.NET Compact Framework 及 .Net Framework
支援於 2.0

另請參閱

參考

SqlCeResultSet Class
SqlCeResultSet Members
System.Data.SqlServerCe Namespace