Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
Déplace le lecteur vers un enregistrement spécifique dans ResultSet.
Espace de noms : System.Data.SqlServerCe
Assembly : System.Data.SqlServerCe (en System.Data.SqlServerCe.dll)
Syntaxe
'Déclaration
Public Function ReadAbsolute ( _
position As Integer _
) As Boolean
'Utilisation
Dim instance As SqlCeResultSet
Dim position As Integer
Dim returnValue As Boolean
returnValue = instance.ReadAbsolute(position)
public bool ReadAbsolute(
int position
)
public:
bool ReadAbsolute(
int position
)
member ReadAbsolute :
position:int -> bool
public function ReadAbsolute(
position : int
) : boolean
Paramètres
- position
Type : System.Int32
Position vers laquelle déplacer le lecteur.
Valeur de retour
Type : System.Boolean
True si l'opération a réussi ; sinon, false.
Notes
ReadAbsolute est de base 0 ; l'appel à ReadAbsolute(0) retournera la première ligne de ResultSet.
Cette méthode lit la valeur de la ligne en fonction de la position de ligne enregistrée par un signet. Par exemple, supposons qu'une table contient 10 lignes et que vous ouvrez deux ResultSet : rs1 et rs2. Vous appelez ReadAbsolue(5) sur rs1 et remplacez la valeur de cette ligne par -1. La position de la ligne a été modifiée ; elle se trouve désormais en première position dans la liste de lignes, tandis que la ligne 4 est à la 5ème position. Toutefois, si vous appelez maintenant ReadAbsolute(5) sur rs2, la valeur -1 est retournée. ResultSet rs2 conserve un signet à la 5ème ligne d'origine et continue de lire cette ligne, en dépit de son changement de position.
Si vous passez un entier positif à cette fonction, le lecteur est avancé du nombre spécifié d'enregistrements à partir du premier enregistrement. Si vous passez un entier négatif à cette fonction, le lecteur est reculé du nombre spécifié d'enregistrements à partir du dernier enregistrement.
Exemples
L'exemple suivant crée un objet ResultSet, puis appelle plusieurs méthodes, dont 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();
}