DataTable.CaseSensitive Property


The .NET API Reference documentation has a new home. Visit the .NET API Browser on to see the new experience.

Indicates whether string comparisons within the table are case-sensitive.

Namespace:   System.Data
Assembly:  System.Data (in System.Data.dll)

Public Property CaseSensitive As Boolean

Property Value

Type: System.Boolean

true if the comparison is case-sensitive; otherwise false. The default is set to the parent DataSet object's CaseSensitive property, or false if the DataTable was created independently of a DataSet.

The CaseSensitive property affects string comparisons in sorting, searching, and filtering.

The following example calls the Select method twice on a DataTable. The first time, the CaseSensitive property is set to false, the second, to true.

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

    ' 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()})
    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)
    If rows.Length <= 0 Then
        Console.WriteLine("no rows found")
    End If

    For Each r As DataRow In rows
        For Each c As DataColumn In r.Table.Columns
            Console.Write(vbTab & " {0}", r(c))
End Sub

.NET Framework
Available since 1.1
Return to top