DataTable.CaseSensitive プロパティ
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
テーブル内の文字列比較で大文字と小文字を区別するかどうかを示します。
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
プロパティ値
比較で大文字と小文字を区別する場合は true
。それ以外の場合は false
。 既定値は親 DataSet オブジェクトの CaseSensitive プロパティに設定します。DataTable とは独立して DataSet を作成した場合は false
に設定します。
- 属性
例
次の例では、 で メソッドを Select 2 回 DataTable呼び出します。 最初の場合、 CaseSensitive プロパティは に false
設定され、2 つ目は に 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 、並べ替え、検索、フィルター処理の文字列比較に影響します。
適用対象
こちらもご覧ください
GitHub で Microsoft と共同作業する
このコンテンツのソースは GitHub にあります。そこで、issue や pull request を作成および確認することもできます。 詳細については、共同作成者ガイドを参照してください。
.NET