コードによる色々なデータテーブルへのアクセス

2024年2月14日

データの追加

データセット名.テーブル名.Addテーブル名Row(行データ);

データテーブルに行を追加

bookDataSet.bookDataTable.AddbookDataTableRow(
    "車大百科",
    "車次郎",
    2000
);

データセット名.Tables[テーブル名].Rows.Add(newDataRow);

データテーブルに行を追加

DataRow row = bookDataSet.bookDataTable.NewRow();
row["書名"] = "楽しい海水浴";
row["著者"] = "近藤正美";
row["値段"] = 5000;
bookDataSet.Tables["bookDataTable"].Rows.Add(row);

データセット名.テーブル名.Rows.Add(newDataRow);

データテーブルに行を追加

DataRow row = bookDataSet.bookDataTable.NewRow();
row["書名"] = "楽しい海水浴";
row["著者"] = "近藤正美";
row["値段"] = 5000;
bookDataSet.bookDataTable.Rows.Add(row);

データの編集

データセット名.テーブル名[行インデックス][列インデックス]

0行目(最初の行)0列目(最初の列)の値をセット

bookDataSet.bookDataTable[0][0] = "楽しいキャンプ";

データセット名.テーブル名[行インデックス][列名]

0行目(最初の行)列名(”著者”)の値をセット

bookDataSet.bookDataTable[0]["著者"] = "木村";

データの削除

データセット名.Tables[テーブル名].Rows[行インデックス].Delete();

0行目(最初の行)を削除

bookDataSet.Tables["bookDataTable"].Rows[0].Delete();

データの絞り込み

データセット名.データテーブル名.AsEnumerable().LINQ列

LINQを使って絞り込む

// LINQを使ってデータを抽出
DataRow[] dRows = bookDataSet.bookDataTable.AsEnumerable()
    .Where(r => r.Field<string>("書名") == "楽しい海水浴").ToArray();

DataRow[] dataRows = データセット名.Tables[“テーブル名"].Select(filter);

Selectメソッドの第一引数のfilterはデータを取得するための条件文となります。
演算子には以下のものが使用できます。

演算子意味
=等しい
<>等しくない
<大きい
>小さい
<=以下
>=以上
AND論理積
OR論理和
IN複数比較
LIKE部分一致
IS NULLNULL比較
集約意味
Min最小
Max最大

著者が車太郎のデータを絞り込む

DataRow[] dataRows = bookDataSet.Tables["bookDataTable"].Select("著者 = '車太郎'");

著者の名前が車で始まるデータを絞り込む

DataRow[] dataRows1 = bookDataSet.Tables["bookDataTable"].Select("著者 LIKE '車%'");

データの並び替え(ソート)

// データテーブルのコピーを作成
DataTable sortedDataTable = bookDataSet.bookDataTable.Clone();
DataView dataView = bookDataSet.bookDataTable.DefaultView;
dataView.Sort = "著者";
foreach (DataRowView dataRowView in dataView)
{
    sortedDataTable.ImportRow(dataRowView.Row);
}

C#,XML,データベース

Posted by hidepon