SqlCeResultSet.ReadAbsolute Method
Sposta il reader su un record specifico nell'oggetto ResultSet.
Spazio dei nomi: System.Data.SqlServerCe
Assembly: System.Data.SqlServerCe (in system.data.sqlserverce.dll)
Sintassi
'Dichiarazione
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
Parametri
- position
Posizione in cui spostare il visualizzatore.
Valore restituito
True se l'operazione ha esito positivo, altrimenti false.
Osservazioni
Il metodo ReadAbsolute è in base zero e la chiamata a ReadAbsolute(0)
restituirà la prima riga dell'oggetto ResultSet.
Questo metodo consente di leggere il valore della riga in base alla sua posizione salvata tramite un segnalibro. Si supponga, ad esempio, di disporre di una tabella con 10 righe e di aprire due oggetti ResultSet, ovvero il gruppo di risultati 1 e 2. Dopo aver chiamato ReadAbsolue(5)
sul gruppo di risultati 1, il valore di questa riga viene modificato in -1. La posizione della riga ora è cambiata ed è la prima dell'elenco di righe, mentre la riga 4 è in quinta posizione. Se successivamente si effettua una chiamata a ReadAbsolute(5)
sul gruppo di risultati 2, verrà restituito un valore uguale a 1. L'oggetto ResultSet relativo al gruppo di risultati 2 mantiene un segnalibro in corrispondenza della quinta riga, nonostante la modifica della posizione.
Se viene passato un valore integer positivo a questa funzione, il visualizzatore viene spostato in avanti dal primo record per il numero specificato di record. Se viene passato un valore integer negativo a questa funzione, il visualizzatore viene spostato indietro dall'ultimo record per il numero specificato di record.
Esempio
Nell'esempio seguente viene creato un oggetto ResultSet e successivamente vengono chiamati diversi metodi, incluso il metodo 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();
}
Affidabilità
Tutti i membri statici pubblici (Shared in Microsoft Visual Basic) di questo tipo sono affidabili. Non è invece garantita l'affidabilità dei membri dell'istanza.
Piattaforme
Piattaforme di sviluppo
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
Informazioni sulla versione
.NET Framework e .NET Compact Framework
Supportato in 3.5
.NET Framework
Supportato in 3.0
.NET Compact Framework e .NET Framework
Supportato in 2.0
Vedere anche
Riferimento
SqlCeResultSet Class
SqlCeResultSet Members
System.Data.SqlServerCe Namespace