DataTable.CaseSensitive Eigenschaft
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
Gibt an, ob Zeichenfolgenvergleiche innerhalb der Tabelle groß-/kleinschreibung beachtet werden.
public:
property bool CaseSensitive { bool get(); void set(bool value); };
public bool CaseSensitive { get; set; }
[System.Data.DataSysDescription("DataTableCaseSensitiveDescr")]
public bool CaseSensitive { get; set; }
member this.CaseSensitive : bool with get, set
[<System.Data.DataSysDescription("DataTableCaseSensitiveDescr")>]
member this.CaseSensitive : bool with get, set
Public Property CaseSensitive As Boolean
Eigenschaftswert
true wenn bei dem Vergleich groß-/kleinschreibung unterschieden wird; andernfalls false. Der Standardwert wird auf die Eigenschaft des übergeordneten DataSetCaseSensitive Objekts festgelegt oder false unabhängig DataTable von einer DataSet.
- Attribute
Beispiele
Im folgenden Beispiel wird die Select Methode zweimal für ein DataTable. Das erste Mal wird die CaseSensitive Eigenschaft auf false, die zweite, auf true.
private static void ToggleCaseSensitive()
{
DataTable t;
DataRow[] foundRows;
t = CreateDataSet().Tables[0];
t.CaseSensitive = false;
foundRows = t.Select("item = 'abc'");
// Print out DataRow values.
PrintRowValues(foundRows, "CaseSensitive = False");
t.CaseSensitive = true;
foundRows = t.Select("item = 'abc'");
PrintRowValues(foundRows, "CaseSensitive = True");
}
public static DataSet CreateDataSet()
{
// Create a DataSet with one table, two columns
DataSet ds = new DataSet();
DataTable t = new DataTable("Items");
// Add table to dataset
ds.Tables.Add(t);
// Add two columns
DataColumn c;
// First column
c = t.Columns.Add("id", typeof(int));
c.AutoIncrement = true;
// Second column
t.Columns.Add("item", typeof(string));
// Set primary key
t.PrimaryKey = new DataColumn[] { t.Columns["id"] };
// Add twelve rows
for (int i = 0; i < 10; i++)
{
t.Rows.Add(new object[] { i, i.ToString() });
}
t.Rows.Add(new object[] { 11, "abc" });
t.Rows.Add(new object[] { 15, "ABC" });
return ds;
}
private static void PrintRowValues(DataRow[] rows, string label)
{
Console.WriteLine();
Console.WriteLine(label);
if (rows.Length <= 0)
{
Console.WriteLine("no rows found");
return;
}
foreach (DataRow r in rows)
{
foreach (DataColumn c in r.Table.Columns)
{
Console.Write("\t {0}", r[c]);
}
Console.WriteLine();
}
}
Private Sub ToggleCaseSensitive()
Dim t As DataTable
Dim foundRows() As DataRow
t = CreateDataSet().Tables(0)
t.CaseSensitive = False
foundRows = t.Select("item = 'abc'")
' Print out DataRow values. Row 0 contains the value we're looking for.
PrintRowValues(foundRows, "CaseSensitive = False")
t.CaseSensitive = True
foundRows = t.Select("item = 'abc'")
PrintRowValues(foundRows, "CaseSensitive = True")
End Sub
Public Function CreateDataSet() As DataSet
' Create a DataSet with one table, two columns
Dim ds As New DataSet
Dim t As New DataTable("Items")
' Add table to DataSet
ds.Tables.Add(t)
' Add two columns
Dim c As DataColumn
' First column
c = t.Columns.Add("id", Type.GetType("System.Int32"))
c.AutoIncrement = True
' Second column
t.Columns.Add("item", Type.GetType("System.String"))
' Set primary key
t.PrimaryKey = New DataColumn() {t.Columns("id")}
For i As Integer = 0 To 9
t.Rows.Add(New Object() {i, i.ToString()})
Next
t.Rows.Add(New Object() {11, "abc"})
t.Rows.Add(New Object() {15, "ABC"})
CreateDataSet = ds
End Function
Private Sub PrintRowValues(ByRef rows As DataRow(), ByVal label As String)
Console.WriteLine()
Console.WriteLine(label)
If rows.Length <= 0 Then
Console.WriteLine("no rows found")
Return
End If
For Each r As DataRow In rows
For Each c As DataColumn In r.Table.Columns
Console.Write(vbTab & " {0}", r(c))
Next
Console.WriteLine()
Next
End Sub
Hinweise
Die CaseSensitive Eigenschaft wirkt sich auf Zeichenfolgenvergleiche beim Sortieren, Suchen und Filtern aus.