「東雲 忠太郎」の平凡な日常のできごと

「東雲 忠太郎」の平凡な日常のできごと

2024.03.14
XML
カテゴリ: C#.NET


`DataRow`の`RowState`が`Detached`になるのは、データ行が`DataTable`から切り離された場合です。つまり、そのデータ行が`DataTable`の`Rows`コレクションに含まれておらず、また`DataRow`オブジェクト自体が`DataTable`の一部ではない場合です。


主な場面としては次のようなケースが考えられます:


1. 新しい`DataRow`オブジェクトが作成され、`DataTable.Rows.Add()`メソッドを使用せずに直接データ行にデータが設定された場合。

2. あるいは、`DataRow`オブジェクトが`DataTable`から取得されたが、その後`DataTable.Rows.Remove()`メソッドまたは`DataTable.Clear()`メソッドによって`DataTable`から削除された場合。


つまり、`Detached`の状態は、`DataRow`オブジェクトが`DataTable`から切り離され、データ行のコレクションから削除されたことを示します。この状態では、データ行に対する変更は`DataTable`に影響を与えません。


以下に、`DataRow`の`RowState`が`Detached`になる例を示します。


```csharp

using System;

using System.Data;


class Program

{

    static void Main(string[] args)

    {

        DataTable table = new DataTable("SampleTable");

        table.Columns.Add("ID", typeof(int));

        table.Columns.Add("Name", typeof(string));


        DataRow row = table.NewRow();

        row["ID"] = 1;

        row["Name"] = "John";


        // DataTableからDataRowを削除し、Detached状態にします。

        table.Rows.Remove(row);


        // DataRowの状態を確認します。

        Console.WriteLine($"DataRowの状態: {row.RowState}"); // DataRowの状態: Detached


        Console.ReadLine();

    }

}

```


この例では、`DataRow`オブジェクトを`DataTable`から削除し、その後`RowState`が`Detached`になることを確認しています。






お気に入りの記事を「いいね!」で応援しよう

Last updated  2024.03.14 04:10:29


【毎日開催】
15記事にいいね!で1ポイント
10秒滞在
いいね! -- / --
おめでとうございます!
ミッションを達成しました。
※「ポイントを獲得する」ボタンを押すと広告が表示されます。
x

© Rakuten Group, Inc.
Create a Mobile Website
スマートフォン版を閲覧 | PC版を閲覧
Share by: