Share via


SqlCeCommand.IndexName Property

Spécifie l'index à ouvrir.

Espace de noms: System.Data.SqlServerCe
Assembly: System.Data.SqlServerCe (dans system.data.sqlserverce.dll)

Syntaxe

'Déclaration
Public Property IndexName As String
public string IndexName { get; set; }
public:
property String^ IndexName {
    String^ get ();
    void set (String^ value);
}
/** @property */
public String get_IndexName ()

/** @property */
public void set_IndexName (String value)
public function get IndexName () : String

public function set IndexName (value : String)

Valeur de propriété

Nom de l'index à ouvrir.

Remarques

IndexName autorise SqlCeDataReader à récupérer des lignes d'une table de base selon l'ordre des lignes figurant dans l'index spécifié. Ceci permet une récupération ordonnée des lignes sans le recours à une instruction SELECT. Par exemple, pour récupérer des employés en fonction de leur ID d'employé, le client peut exécuter SELECT * FROM Employees ORDER BY EmployeeID, mais il est possible d'obtenir les résultats plus rapidement en procédant à une extraction de lignes en fonction d'un index à l'aide de la propriété IndexName. Cette propriété s'applique à une commande uniquement lorsque CommandType a la valeur TableDirect et CommandText a pour valeur une table de base valide qui contient l'index spécifié.

La récupération des lignes à partir d'un index à l'aide de la propriété IndexName permet de récupérer toutes les lignes d'une table de base dans l'ordre de l'index. Pour restreindre les lignes retournées, utilisez SetRange ; pour rechercher une valeur spécifique dans l'index, utilisez Seek.

Exemple

L'exemple suivant ouvre une table de base et utilise un index pour récupérer rapidement des valeurs dans la plage spécifiée.

Dim cmd As SqlCeCommand = conn.CreateCommand()
cmd.CommandType = CommandType.TableDirect

' This is the name of the base table 
'
cmd.CommandText = "Orders"

'Assume: Index contains three columns [int, datetime, money]
'
cmd.IndexName = "SomeIndex"

Dim start(2) As Object
Dim [end](0) As Object

start(0) = 1
start(1) = New SqlDateTime(1996, 1, 1)
start(2) = New SqlMoney(10.0)

[end](0) = 5

cmd.SetRange(DbRangeOptions.InclusiveStart Or DbRangeOptions.InclusiveEnd, start, [end])

Dim rdr As SqlCeDataReader = cmd.ExecuteReader()
rdr.Seek(DbSeekOptions.AfterEqual, 1, New SqlDateTime(1997, 1, 1), New SqlMoney(10.5))

While rdr.Read()
    ' Read data the usual way 
    '
End While
rdr.Close()
SqlCeCommand cmd = conn.CreateCommand();
cmd.CommandType = CommandType.TableDirect;

// This is the name of the base table 
//
cmd.CommandText = "Orders";

//Assume: Index contains three columns [int, datetime, money]
//
cmd.IndexName = "SomeIndex";

object[] start = new object[3];
object[] end = new object[1];

start[0] = 1;
start[1] = new SqlDateTime(1996, 1, 1);
start[2] = new SqlMoney(10.00);

end[0] = 5;

cmd.SetRange(DbRangeOptions.InclusiveStart | DbRangeOptions.InclusiveEnd, start, end);

SqlCeDataReader rdr = cmd.ExecuteReader();
rdr.Seek(DbSeekOptions.AfterEqual, 1, new SqlDateTime(1997, 1, 1), new SqlMoney(10.50));

while (rdr.Read())
{
    // Read data the usual way 
    //
}
rdr.Close();

Sécurité des threads

Tout membre statique public (Partagé dans Microsoft Visual Basic) de ce type sont thread-safe. Tous les membres de l'instance ne sont pas garantis comme sûrs.

Plateformes

Plateformes de développement

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
Informations sur la version
.NET Framework et NET Compact Framework
Pris en charge dans 3.5
.NET Framework
Pris en charge dans 3.0
.NET Compact Framework et .Net Framework
Pris en charge dans 2.0

Voir aussi

Référence

SqlCeCommand Class
SqlCeCommand Members
System.Data.SqlServerCe Namespace