How can I easily view the contents of a datatable or dataview in the immediate window

后端 未结 8 1575
情书的邮戳
情书的邮戳 2020-12-04 13:02

Sometimes I will be at a breakpoint in my code and I want to view the contents of a DataTable variable (or a DataTable in a DataSet).

8条回答
  •  鱼传尺愫
    2020-12-04 13:53

    To beautify adinas's debugger output I made some simple formattings:

        public void DebugTable(DataTable table)
        {
            Debug.WriteLine("--- DebugTable(" + table.TableName + ") ---");
            int zeilen = table.Rows.Count;
            int spalten = table.Columns.Count;
    
            // Header
            for (int i = 0; i < table.Columns.Count; i++)
            {
                string s = table.Columns[i].ToString();
                Debug.Write(String.Format("{0,-20} | ", s));
            }
            Debug.Write(Environment.NewLine);
            for (int i = 0; i < table.Columns.Count; i++)
            {
                Debug.Write("---------------------|-");
            }
            Debug.Write(Environment.NewLine);
    
            // Data
            for (int i = 0; i < zeilen; i++)
            {
                DataRow row = table.Rows[i];
                //Debug.WriteLine("{0} {1} ", row[0], row[1]);
                for (int j = 0; j < spalten; j++)
                {
                    string s = row[j].ToString();
                    if (s.Length > 20) s = s.Substring(0, 17) + "...";
                    Debug.Write(String.Format("{0,-20} | ", s));
                }
                Debug.Write(Environment.NewLine);
            }
            for (int i = 0; i < table.Columns.Count; i++)
            {
                Debug.Write("---------------------|-");
            }
            Debug.Write(Environment.NewLine);
        }
    

    Best of this solution: You don't need Visual Studio! Here my example output:

    SELECT PackKurz, PackName, PackGewicht FROM verpackungen
    
    PackKurz             | PackName             | PackGewicht          | 
    ---------------------|----------------------|----------------------|-
    BB205                | BigBag 205 kg        | 205                  | 
    BB300                | BigBag 300 kg        | 300                  | 
    BB365                | BigBag 365 kg        | 365                  | 
    CO                   | Container, Alteru... |                      | 
    EP                   | Palette              |                      | 
    IBC                  | Chemikaliengefäß ... |                      | 
    lose                 | nicht verpackungs... | 0                    | 
    ---------------------|----------------------|----------------------|-
    

提交回复
热议问题