【C#】データテーブルの件数取得と件数チェックをする【DataTable】
データテーブルの行数を取得する
データテーブルに格納された行数を取得するには「dt.Rows.Count」とすることで
現在の行の件数が取得できます。
ここでは、行の件数をコンソールに出力しています。
// データテーブルの初期化
DataTable dt = new DataTable();
// データテーブルの名前を指定
dt.TableName = "FRUIT";
// 列追加
dt.Columns.Add("HINMEI");
dt.Columns.Add("SURYO");
dt.Columns.Add("TANKA");
dt.Columns.Add("KINGAKU");
// 行追加
dt.Rows.Add("りんご", "3", "50", "150");
dt.Rows.Add("ぶどう", "1", "200", "200");
dt.Rows.Add("みかん", "10", "30", "300");
/*
今回の内容はここから
*/
// 行の件数を取得する
Console.WriteLine(dt.Rows.Count);
// ログ出力内容
// 3
行の件数チェックを行う
条件式を使用し、件数チェックをしていきます。
1つ目は、データテーブルに格納されたデータが 0 件かを判断する条件式
2つ目は、データテーブルに格納されたデータが 1 件以上かを判断する条件式
// データテーブルの初期化
DataTable dt = new DataTable();
// データテーブルの名前を指定
dt.TableName = "FRUIT";
// 列追加
dt.Columns.Add("HINMEI");
dt.Columns.Add("SURYO");
dt.Columns.Add("TANKA");
dt.Columns.Add("KINGAKU");
// 行追加
dt.Rows.Add("りんご", "3", "50", "150");
dt.Rows.Add("ぶどう", "1", "200", "200");
dt.Rows.Add("みかん", "10", "30", "300");
/*
今回の内容はここから
*/
// データテーブルに格納されたデータが 0 件かを判断する条件式
if (dt.Rows.Count == 0)
{
Console.WriteLine("格納されたデータはありません");
}
// データテーブルに格納されたデータが 1 件以上かを判断する条件式
if (dt.Rows.Count > 0)
{
Console.WriteLine("格納されたデータがあります。");
}
コピペですぐ試せるソースコード
上記で記載した2点のソースコードをまとめました。
ソースコードをコピペするとそれぞれの動作が確認できると思います。
private void DataTable_Row_Count()
{
DataTable dt = new DataTable();
// データテーブルの名前を指定
dt.TableName = "FRUIT";
// 列追加
dt.Columns.Add("HINMEI");
dt.Columns.Add("SURYO");
dt.Columns.Add("TANKA");
dt.Columns.Add("KINGAKU");
// 行追加
dt.Rows.Add("りんご", "3", "50", "150");
dt.Rows.Add("ぶどう", "1", "200", "200");
dt.Rows.Add("みかん", "10", "30", "300");
/*
今回の内容はここから
*/
// 行の件数を取得する
Console.WriteLine(dt.Rows.Count);
// データテーブルに格納されたデータが 0 件かを判断する条件式
if (dt.Rows.Count == 0)
{
Console.WriteLine("格納されたデータはありません");
}
// データテーブルに格納されたデータが 1 件以上かを判断する条件式
if (dt.Rows.Count > 0)
{
Console.WriteLine("格納されたデータがあります。");
}
}
まとめ
データテーブルの件数チェックは例外エラーを回避する際に
必要となってくるので覚えておくといいかとおもいます。
用途にあったやり方、自分のやりやすい実装を採用していきましょう。
Microsoft 公式ページ
DataRowCollection.Count プロパティ
https://docs.microsoft.com/ja-jp/dotnet/api/system.data.datarowcollection.count?view=netframework-4.8
お問い合わせ先
Twitterの利用再開しましたのでお問い合わせのある方はTwitterまでご連絡ください。
最近のコメント