Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
DataTable içeriğine, DataTable nesnesinin Rows ve Columns koleksiyonlarını kullanarak erişebilirsiniz. Arama ölçütleri, sıralama düzeni ve satır durumu gibi ölçütlere göre verilerin Select alt kümelerini döndürmek için yöntemini de kullanabilirsinizDataTable. Ayrıca, birincil anahtar değeri kullanarak belirli bir satırı ararken Find metodunu DataRowCollection üzerinde kullanabilirsiniz.
Select nesnesinin DataTable yöntemi, belirtilen ölçütlere uyan bir nesne kümesi DataRow döndürür.
Select filtre ifadesinin, sıralama ifadesinin ve DataViewRowState'in isteğe bağlı bağımsız değişkenlerini alır. Filtre ifadesi, DataColumn gibi değerlere göre döndürülecek LastName = 'Smith' satırları belirler. Sıralama ifadesi, sütunları sıralamak için standart SQL kurallarına uyar, örneğin LastName ASC, FirstName ASC. İfade yazmayla ilgili kurallar için Expression sınıfındaki DataColumn özelliğine bakın.
Tavsiye
Select yöntemine bir dizi çağrı gerçekleştiriyorsanız, önce DataView için bir oluşturarak performansı artırabilirsiniz.
DataView tablonun satırlarını dizinlemek için oluşturur.
Select yöntemi daha sonra bu dizini kullanarak sorgu sonucunu oluşturma süresini önemli ölçüde azaltır.
DataView için bir oluşturma hakkında bilgi için bkz. DataViews.
Yöntem, Select metoduna göre satırların hangi sürümünün görüntüleneceğini veya işleneceğini belirler. Aşağıdaki tabloda olası DataViewRowState numaralandırma değerleri açıklanmaktadır.
| DataViewRowState değeri | Açıklama |
|---|---|
| CurrentRows | Değişmemiş, eklenmiş ve değiştirilmiş satırlar da dahil olmak üzere geçerli satırlar. |
| Silinmiş | Silinen satır. |
| ModifiedCurrent | Özgün verilerin değiştirilmiş bir sürümü olan geçerli sürüm. (Bakınız ModifiedOriginal.) |
| DeğiştirilmişÖzgün | Değiştirilen tüm satırların özgün sürümü. Geçerli sürüm ModifiedCurrent kullanılarak kullanılabilir. |
| Eklendi | Yeni bir satır. |
| Hiçbiri | Yok. |
| OriginalRows | Değişmemiş ve silinmiş satırlar da dahil olmak üzere özgün satırlar. |
| Değişmedi | Değişmemiş bir satır. |
Aşağıdaki örnekte, DataSet nesnesi, yalnızca DataViewRowState değeri CurrentRows olarak ayarlanmış satırlarla çalışacak şekilde filtrelenmiştir.
Dim column As DataColumn
Dim row As DataRow
Dim currentRows() As DataRow = _
workTable.Select(Nothing, Nothing, DataViewRowState.CurrentRows)
If (currentRows.Length < 1 ) Then
Console.WriteLine("No Current Rows Found")
Else
For Each column in workTable.Columns
Console.Write(vbTab & column.ColumnName)
Next
Console.WriteLine(vbTab & "RowState")
For Each row In currentRows
For Each column In workTable.Columns
Console.Write(vbTab & row(column).ToString())
Next
Dim rowState As String = _
System.Enum.GetName(row.RowState.GetType(), row.RowState)
Console.WriteLine(vbTab & rowState)
Next
End If
DataRow[] currentRows = workTable.Select(
null, null, DataViewRowState.CurrentRows);
if (currentRows.Length < 1 )
Console.WriteLine("No Current Rows Found");
else
{
foreach (DataColumn column in workTable.Columns)
Console.Write("\t{0}", column.ColumnName);
Console.WriteLine("\tRowState");
foreach (DataRow row in currentRows)
{
foreach (DataColumn column in workTable.Columns)
Console.Write("\t{0}", row[column]);
Console.WriteLine("\t" + row.RowState);
}
}
Select yöntemi, RowState veya farklı alan değerlerine sahip satırları döndürmek için kullanılabilir. Aşağıdaki örnek, silinmiş olan tüm satırlara başvuran bir DataRow dizi döndürür ve sütunun 5'ten büyük olduğu DataRowCustLName tarafından sıralanmış tüm satırlara başvuran başka bir CustID dizi döndürür. Satırdaki Deleted bilgileri görüntüleme hakkında bilgi için bkz. Satır Durumları ve Satır Sürümleri.
' Retrieve all deleted rows.
Dim deletedRows() As DataRow = workTable.Select(Nothing, Nothing, DataViewRowState.Deleted)
' Retrieve rows where CustID > 5, and order by CustLName.
Dim custRows() As DataRow = workTable.Select( _
"CustID > 5", "CustLName ASC")
// Retrieve all deleted rows.
DataRow[] deletedRows = workTable.Select(
null, null, DataViewRowState.Deleted);
// Retrieve rows where CustID > 5, and order by CustLName.
DataRow[] custRows = workTable.Select("CustID > 5", "CustLName ASC");