Freigeben über


SqlCeCommand.IndexName-Eigenschaft

Gibt den zu öffnenden Index an.

Namespace: System.Data.SqlServerCe
Assembly: System.Data.SqlServerCe (in system.data.sqlserverce.dll)

Syntax

'Declaration
Public Property IndexName As String
'Usage
Dim instance As SqlCeCommand
Dim value As String

value = instance.IndexName

instance.IndexName = value
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)

Eigenschaftenwert

Der Name des zu öffnenden Indexes.

Hinweise

Die IndexName-Eigenschaft ermöglicht es der SqlCeDataReader-Klasse, anhand der Reihenfolge der Zeilen im angegebenen Index Zeilen aus einer Basistabelle abzurufen. Dadurch können die Zeilen geordnet abgerufen werden, ohne eine SELECT-Anweisung zu verwenden. Wenn Sie z. B. Mitarbeiter anhand der Mitarbeiter-ID abrufen möchten, könnte der Client SELECT * FROM Employees ORDER BY EmployeeID ausführen. Die Ergebnisse können jedoch schneller zurückgegeben werden, wenn sie mithilfe der IndexName-Eigenschaft von einem Index gelesen werden. Diese Eigenschaft kann nur für einen Befehl verwendet werden, bei dem die CommandType-Eigenschaft auf BaseTable und die CommandText-Eigenschaft auf eine gültige Basistabelle festgelegt ist, die den angegebenen Index enthält.

Wenn Zeilen mithilfe der IndexName-Eigenschaft von einem Index abgerufen werden, werden sämtliche Zeilen aus einer Basistabelle in der Indexreihenfolge abgerufen. Mit der SetRange-Methode können Sie die zurückgegebenen Zeilen einschränken; mit der Seek-Methode können Sie einen bestimmten Wert im Index suchen.

Beispiel

Im folgenden Beispiel wird eine Basistabelle geöffnet, und es wird ein Index zum schnellen Abrufen von Werten aus dem angegebenen Bereich verwendet.

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();

.NET Framework-Sicherheit

  • Volle Vertrauenswürdigkeit für den unmittelbaren Aufrufer. Dieser Member kann von nur teilweise vertrauenswürdigem Code nicht verwendet werden. Weitere Informationen finden Sie unter .

Plattformen

Windows CE, Windows Mobile für Pocket PC, Windows Mobile für Smartphone, Windows XP Professional x64 Edition, Windows XP SP2

.NET Framework unterstützt nicht alle Versionen sämtlicher Plattformen. Eine Liste der unterstützten Versionen finden Sie unter Systemanforderungen.

Versionsinformationen

.NET Compact Framework

Unterstützt in: 2.0, 1.0

Siehe auch

Referenz

SqlCeCommand-Klasse
SqlCeCommand-Member
System.Data.SqlServerCe-Namespace