Compartilhar via


SqlCeCommand.IndexName Property

Especifica o índice a ser aberto.

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

Sintaxe

'Declaração
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)

Valor da propriedade

O nome do índice a ser aberto.

Comentários

IndexName permite que o SqlCeDataReader recupere linhas de uma tabela base dependendo da ordem das linhas no índice especificado. Isso permite a recuperação ordenada de linhas sem usar uma instrução SELECT. Por exemplo, para recuperar funcionários com base em suas identificações, o cliente poderá executar SELECT * FROM Employees ORDER BY EmployeeID, mas os resultados podem ser retornados mais rapidamente buscando-se as linhas com base em um índice com a propriedade IndexName. Essa propriedade pode ser usada somente em um comando com CommandType definido como TableDirect e CommandText definido como uma tabela base válida que contém o índice especificado.

A recuperação de linhas de um índice usando a propriedade IndexName recuperará todas as linhas da tabela base na ordem do índice. Para restringir as linhas retornadas, use SetRange; para procurar um valor específico no índice, use Seek.

Exemplo

O exemplo a seguir abre uma tabela base e usa um índice para recuperar rapidamente os valores do intervalo especificado.

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

Segurança de thread

Quaisquer membros estáticos públicos (compartilhados no Microsoft Visual Basic) desse tipo são thread safe. Não há garantia de que qualquer membro de instância seja thread safe.

Plataformas

Plataformas de desenvolvimento

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
Informações de versão
.NET Framework e NET Compact Framework
Com suporte no 3.5
.NET Framework
Com suporte no 3.0
.NET Compact Framework e .Net Framework
Com suporte no 2.0

Consulte também

Referência

SqlCeCommand Class
SqlCeCommand Members
System.Data.SqlServerCe Namespace