DataTable.CaseSensitive DataTable.CaseSensitive DataTable.CaseSensitive DataTable.CaseSensitive Property

定義

指示字串比較在資料表中是否區分大小寫。Indicates whether string comparisons within the table are case-sensitive.

public:
 property bool CaseSensitive { bool get(); void set(bool value); };
[System.Data.DataSysDescription("DataTableCaseSensitiveDescr")]
public bool CaseSensitive { get; set; }
member this.CaseSensitive : bool with get, set
Public Property CaseSensitive As Boolean

屬性值

如果比較區分大小寫,則為 true,否則為 falsetrue if the comparison is case-sensitive; otherwise false. 預設值會設定為父 DataSet 物件的 CaseSensitive 屬性,或者,如果 DataTable 是獨自建立而無關 DataSet 時,則為 falseThe default is set to the parent DataSet object's CaseSensitive property, or false if the DataTable was created independently of a DataSet.

範例

下列範例會DataTable在上Select呼叫方法兩次。The following example calls the Select method twice on a DataTable. 第一次, CaseSensitive屬性會false設為,第二個則設定true為。The first time, the CaseSensitive property is set to false, the second, to 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

備註

CaseSensitive屬性會影響排序、搜尋和篩選中的字串比較。The CaseSensitive property affects string comparisons in sorting, searching, and filtering.

適用於

另請參閱