SqlCeCommand.IndexName Property
指定要開啟的索引。
命名空間: System.Data.SqlServerCe
組件: System.Data.SqlServerCe (在 system.data.sqlserverce.dll)
語法
'宣告
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)
屬性值
要開啟的索引名稱。
備註
IndexName 可以讓 SqlCeDataReader 根據指定索引中的資料列順序,從基底資料表擷取資料列。這可讓您依序擷取資料列,而不必使用 SELECT 陳述式。例如,若要根據員工識別碼來擷取員工,則用戶端可以執行 SELECT * FROM Employees ORDER BY EmployeeID
,但若使用 IndexName 屬性根據索引提取資料列,則可以更快傳回結果。此屬性只能用於其 CommandType 設定為 TableDirect 且 CommandText 設定為包含指定索引的有效基底資料表的命令。
使用 IndexName 屬性從索引擷取資料列時,將按照索引順序從基底資料表擷取所有的資料列。若要限制傳回的資料列,請使用 SetRange;若要尋找索引中的特定值,請使用 Seek。
範例
下列範例會開啟基底資料表並使用索引,快速地從指定的範圍擷取值。
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();
執行緒安全性
任何公用靜態 (共用 在 Microsoft Visual Basic) 此型別的成員具備執行緒安全。不保證任何執行個體成員安全執行緒。
平台
開發平台
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
版本資訊
.NET Framework 及 NET Compact Framework
支援於 3.5
.NET Framework
支援於 3.0
.NET Compact Framework 及 .Net Framework
支援於 2.0
另請參閱
參考
SqlCeCommand Class
SqlCeCommand Members
System.Data.SqlServerCe Namespace