VisualStudioでデータテーブルの中身確認できるの便利すぎワロタw

投稿日:2018-09-03

DataSetビジュアライザーで、DataTableの中身が確認できるのが便利すぎたのでメモ。

データテーブルって気軽に使えるけど、中身の確認がしち面倒くさい件

本当のところはどうなのか?ってのは知らんよ?

もっと、効率的なデータ確認方法があれば、それはそれで知りたいので教えてください。

お願いします。

これ、派遣で来てくれてる人に教えてもらったんだけど、DataSetビジュアライザーってのを使うと、DataTableの中身が確認出来て、すげぇ便利でした。

マジで。

今までは、

中身確認したい

ウォッチエリアに入力して、確認

見たいな事をやってました。

ただ、データ量が少量なら全然いいんだけど、数百件を超えてくると、目的のデータが何件目にあるのか?とか、分からないし、カーソルを関数の上に持っていって見れるやつ(なんていうか分からん・・・)だと、目的のデータにたどり着くまでに一苦労・・・

まだ、目視できるレベルの量なら良かったけど、万単位のデータをSQLで取得してきたりするともう無理って感じで、半分諦めてたり。

さらに、非効率なのは、帳票などの出力PGとかの場合、出力結果を一旦出してから、ブレークポイントを設定して、更に条件を追加して確認してみたりと、時間のかかることこの上なかった訳です。

ブレークポイントで条件設定すると、ループ処理なんかだと、ブレークポイント通貨時に毎回設定した条件の判定が走るので、処理によっては、時間が倍ぐらいになるわ、動作は緩慢になるわで、なんかもっと簡単に確認できたらなぁってずっと思ってた。

で、隣で作業してた派遣の人に聞いてみた。

DataSetビジュアライザー便利っすよ

聞いてみたら、速攻でDataSetビジュアライザー便利っすよ!って返ってきた。

何それ、教えて!!

と食いついたところ、使用方法も簡単だったw

データを確認したいところへブレークポイントを設定

デバッグ実行してブレークポイントで止める

見たいデータテーブルを右クリックしてクイックウォッチを選択

クイックウォッチウィンドウの「値」列に表示される虫眼鏡をクリック

DataSetビジュアライザーで確認

もしくは、

データテーブル上にマウスカーソルを移動して表示されるやつ(正式名称が分からないw)で虫眼鏡をクリックでもOK。

試してみた

using System.Data;

namespace DatatableView
{
    class Program
    {
        static void Main(string[] args)
        {
            DataTable data = new DataTable();
            data.Columns.Add("col_001");
            data.Columns.Add("col_002");
            data.Columns.Add("col_003");
            for(int i = 0; i < 20; i++)
            {
                data.Rows.Add();
                data.Rows[i][0] = i;
                data.Rows[i][1] = i;
                data.Rows[i][2] = i;
            }
        }
    }
}

上記コードをとりあえず書いて、確認。

確かに、DataSetビジュアライザーで中身のデータが見れた!

まとめ

まぁ、数万件のデータでは、中身の確認も一苦労だけど、そこはSQLのORDER BY句を上手いこと使って探しやすくするとか、DataSetビジュアライザーで普通にコピーも出来るので、Excel等に貼り付けて目的のデータを探すとか手はある。

要は、一覧としてデータが取得できるので、正しいデータ取れてるかな?とか、処理途中でデータをコネコネし過ぎた結果何が入ってくるか分からんって時に重宝するかな、個人的に。

しかし、これは便利な機能だ。







-C#, 開発メモ
-,

関連記事

C#で日数計算を行うのに、DateDiff関数を使う以外の方法。でも、ぶっちゃけ関数使った方が早いし正確だよ。

C#に限らず、プログラミング言語にはDateDiff相当の関数が用意されているはずです。 Excelでは普通に加減算が可能ですが。 そして、結論を言ってしまうと、そういう関数がある場合、それを使うべき …

c#:高DPI環境化で、画面レイアウトが崩れる問題

自分の環境は高DPI(125%以上)ではないので、意識していなかったけど、客先環境でハマッたので。 状況は、Multirowを使った表部分が、高DPI環境下(125%)だと、レイアウトが崩れる問題。 …

[VB.net]TextBoxで、マウスクリック(1回目)だけ、内容を全選択させる

結構前に書いた記事 日本の中心付近で仕様変更と闘うSE日記[C#]TextBoxで、マウスクリック(1回目)だけ、内容を全選択させるhttp://ht-jp.net/blog/pc/c/c-textb …

[VMWare Fusion]VMWare Fusion 11がBigSurで使えなかった話。

  現在、WindowsとMacの2OS持ちの私ですが、2OSにはデメリットもありまして、それをカバーするために、VMWare Fusionを使用してWindowsとの橋渡しをしたりしてる訳 …

TortiseSVNなんだけど、自分が原因で「already locked」が出てしまった時の対処法。自分がロックを取ってて、ロックが取れずコミットが出来ない事態に遭遇した・・・

SVNを使っていると、たまにありますね。 ロックが既に誰かに取得されていて、コミットしようとした時に、唖然とするやつ。 ただ、今回は状況が違いました。 いつもなら、「ロック取ってるやつ誰だよ~」って感 …


カテゴリー