using System.Collections.Generic;
using System.Collections.Specialized;
using System.ComponentModel;
using System.Text.RegularExpressions;
using Microsoft.VisualBasic;
using System.Diagnostics;
namespace DataReaderDebugUtilities
public static void Main()
Debug Debug = new Debug();
DataTable dt = new DataTable();
dt = DataTableCreate("ProductId", "ProductName", "UnitPrice", "UnitsInStock");
DataTableAddRow(ref dt, "1001", "John One", "15.50", "5");
DataTableAddRow(ref dt, "1002", "Jill Two", "10.75", "10");
DataTableAddRow(ref dt, "1003", "Tim Three", "5.25", "15");
DataTableAddRow(ref dt, "1004", "Jane Four", "15.50", "5");
DataTableAddRow(ref dt, "1005", "Greg Five", "10.75", "10");
DataTableAddRow(ref dt, "1006", "Mike Six", "5.25", "15");
DataTableAddRow(ref dt, "1007", "Ellen Seven", "12.50", "5");
DataTableAddRow(ref dt, "1008", "Skip Eight", "10.75", "10");
DataTableAddRow(ref dt, "1009", "Tom Nine", "8.25", "8");
DataTableAddRow(ref dt, "1010", "Ann Ten", "4.25", "6");
DataTableAddRow(ref dt, "1011", "Walt Eleven", "7.95", "4");
DataTableAddRow(ref dt, "1012", "Meg Twelve", "13.25", "2");
var dynamicList = new List<dynamic>();
foreach (DataRow row in dt.Rows)
dynamic dynamicObject = new ExpandoObject();
IDictionary<string, object> dictionary = dynamicObject;
foreach (DataColumn column in dt.Columns)
dictionary[column.ColumnName] = row[column];
dynamicList.Add(dynamicObject);
foreach (dynamic row in dynamicList)
Console.WriteLine($"ProductId: {row.ProductId}, Product Name: {row.ProductName}, Unit Price: {row.UnitPrice}, UnitsInStock: {row.UnitsInStock}");
Console.WriteLine(ex.Message);
Console.WriteLine(ex.StackTrace);
public static void DataTableListRowsAndColumns(ref DataTable dt)
using (DataTableReader rdr = dt.CreateDataReader())
for (int i = 0; i <= rdr.FieldCount - 1; i++)
Debug.WriteLine(string.Format("({0},{1}) - {2}: {3}", (_Count + 1).ToString(), (i + 1).ToString(), rdr.GetName(i), rdr[i].ToString()));
Debug.WriteLine(Constants.vbCrLf);
public static void DataTableAddRow(ref DataTable dt, string c1, string c2 = "", string c3 = "", string c4 = "", string c5 = "", string c6 = "", string c7 = "", string c8 = "", string c9 = "", string c10 = "", string c11 = "", string c12 = "", string c13 = "", string c14 = "", string c15 = "", string c16 = "", string c17 = "", string c18 = "", string c19 = "", string c20 = "", string c21 = "", string c22 = "", string c23 = "", string c24 = "", string c25 = "", string c26 = "", string c27 = "", string c28 = "", string c29 = "", string c30 = "")
Int32 cnt = dt.Columns.Count;
dt.Rows.Add(c1, c2, c3, c4);
dt.Rows.Add(c1, c2, c3, c4, c5);
dt.Rows.Add(c1, c2, c3, c4, c5, c6);
dt.Rows.Add(c1, c2, c3, c4, c5, c6, c7);
dt.Rows.Add(c1, c2, c3, c4, c5, c6, c7, c8);
dt.Rows.Add(c1, c2, c3, c4, c5, c6, c7, c8, c9);
dt.Rows.Add(c1, c2, c3, c4, c5, c6, c7, c8, c9, c10);
dt.Rows.Add(c1, c2, c3, c4, c5, c6, c7, c8, c9, c10, c11);
dt.Rows.Add(c1, c2, c3, c4, c5, c6, c7, c8, c9, c10, c11, c12);
dt.Rows.Add(c1, c2, c3, c4, c5, c6, c7, c8, c9, c10, c11, c12, c13);
dt.Rows.Add(c1, c2, c3, c4, c5, c6, c7, c8, c9, c10, c11, c12, c13, c14);
dt.Rows.Add(c1, c2, c3, c4, c5, c6, c7, c8, c9, c10, c11, c12, c13, c14, c15);
dt.Rows.Add(c1, c2, c3, c4, c5, c6, c7, c8, c9, c10, c11, c12, c13, c14, c15, c16);
dt.Rows.Add(c1, c2, c3, c4, c5, c6, c7, c8, c9, c10, c11, c12, c13, c14, c15, c16, c17);
dt.Rows.Add(c1, c2, c3, c4, c5, c6, c7, c8, c9, c10, c11, c12, c13, c14, c15, c16, c17, c18);
dt.Rows.Add(c1, c2, c3, c4, c5, c6, c7, c8, c9, c10, c11, c12, c13, c14, c15, c16, c17, c18, c19);
dt.Rows.Add(c1, c2, c3, c4, c5, c6, c7, c8, c9, c10, c11, c12, c13, c14, c15, c16, c17, c18, c19, c20);
dt.Rows.Add(c1, c2, c3, c4, c5, c6, c7, c8, c9, c10, c11, c12, c13, c14, c15, c16, c17, c18, c19, c20, c21);
dt.Rows.Add(c1, c2, c3, c4, c5, c6, c7, c8, c9, c10, c11, c12, c13, c14, c15, c16, c17, c18, c19, c20, c21, c22);
dt.Rows.Add(c1, c2, c3, c4, c5, c6, c7, c8, c9, c10, c11, c12, c13, c14, c15, c16, c17, c18, c19, c20, c21, c22, c23);
dt.Rows.Add(c1, c2, c3, c4, c5, c6, c7, c8, c9, c10, c11, c12, c13, c14, c15, c16, c17, c18, c19, c20, c21, c22, c23, c24);
dt.Rows.Add(c1, c2, c3, c4, c5, c6, c7, c8, c9, c10, c11, c12, c13, c14, c15, c16, c17, c18, c19, c20, c21, c22, c23, c24, c25);
dt.Rows.Add(c1, c2, c3, c4, c5, c6, c7, c8, c9, c10, c11, c12, c13, c14, c15, c16, c17, c18, c19, c20, c21, c22, c23, c24, c25, c26);
dt.Rows.Add(c1, c2, c3, c4, c5, c6, c7, c8, c9, c10, c11, c12, c13, c14, c15, c16, c17, c18, c19, c20, c21, c22, c23, c24, c25, c26, c27);
dt.Rows.Add(c1, c2, c3, c4, c5, c6, c7, c8, c9, c10, c11, c12, c13, c14, c15, c16, c17, c18, c19, c20, c21, c22, c23, c24, c25, c26, c27, c28);
dt.Rows.Add(c1, c2, c3, c4, c5, c6, c7, c8, c9, c10, c11, c12, c13, c14, c15, c16, c17, c18, c19, c20, c21, c22, c23, c24, c25, c26, c27, c28, c29);
dt.Rows.Add(c1, c2, c3, c4, c5, c6, c7, c8, c9, c10, c11, c12, c13, c14, c15, c16, c17, c18, c19, c20, c21, c22, c23, c24, c25, c26, c27, c28, c29, c30);
public static DataTable DataTableCreate(string c1, string c2 = "", string c3 = "", string c4 = "", string c5 = "", string c6 = "", string c7 = "", string c8 = "", string c9 = "", string c10 = "", string c11 = "", string c12 = "", string c13 = "", string c14 = "", string c15 = "", string c16 = "", string c17 = "", string c18 = "", string c19 = "", string c20 = "", string c21 = "", string c22 = "", string c23 = "", string c24 = "", string c25 = "", string c26 = "", string c27 = "", string c28 = "", string c29 = "", string c30 = "")
DataTable dt = new DataTable();
if (string.IsNullOrEmpty(c2))
dt.Columns.Add(c1, typeof(string));
else if (string.IsNullOrEmpty(c3))
dt.Columns.Add(c1, typeof(string));
dt.Columns.Add(c2, typeof(string));
else if (string.IsNullOrEmpty(c4))
dt.Columns.Add(c1, typeof(string));
dt.Columns.Add(c2, typeof(string));
dt.Columns.Add(c3, typeof(string));
else if (string.IsNullOrEmpty(c5))
dt.Columns.Add(c1, typeof(string));
dt.Columns.Add(c2, typeof(string));
dt.Columns.Add(c3, typeof(string));
dt.Columns.Add(c4, typeof(string));
else if (string.IsNullOrEmpty(c6))
dt.Columns.Add(c1, typeof(string));
dt.Columns.Add(c2, typeof(string));
dt.Columns.Add(c3, typeof(string));
dt.Columns.Add(c4, typeof(string));
dt.Columns.Add(c5, typeof(string));
else if (string.IsNullOrEmpty(c7))
dt.Columns.Add(c1, typeof(string));
dt.Columns.Add(c2, typeof(string));
dt.Columns.Add(c3, typeof(string));
dt.Columns.Add(c4, typeof(string));
dt.Columns.Add(c5, typeof(string));
dt.Columns.Add(c6, typeof(string));
else if (string.IsNullOrEmpty(c8))
dt.Columns.Add(c1, typeof(string));
dt.Columns.Add(c2, typeof(string));
dt.Columns.Add(c3, typeof(string));
dt.Columns.Add(c4, typeof(string));
dt.Columns.Add(c5, typeof(string));
dt.Columns.Add(c6, typeof(string));
dt.Columns.Add(c7, typeof(string));
else if (string.IsNullOrEmpty(c9))
dt.Columns.Add(c1, typeof(string));
dt.Columns.Add(c2, typeof(string));
dt.Columns.Add(c3, typeof(string));
dt.Columns.Add(c4, typeof(string));
dt.Columns.Add(c5, typeof(string));
dt.Columns.Add(c6, typeof(string));
dt.Columns.Add(c7, typeof(string));
dt.Columns.Add(c8, typeof(string));
else if (string.IsNullOrEmpty(c10))
dt.Columns.Add(c1, typeof(string));
dt.Columns.Add(c2, typeof(string));
dt.Columns.Add(c3, typeof(string));
dt.Columns.Add(c4, typeof(string));
dt.Columns.Add(c5, typeof(string));
dt.Columns.Add(c6, typeof(string));
dt.Columns.Add(c7, typeof(string));
dt.Columns.Add(c8, typeof(string));
dt.Columns.Add(c9, typeof(string));
else if (string.IsNullOrEmpty(c11))
dt.Columns.Add(c1, typeof(string));
dt.Columns.Add(c2, typeof(string));
dt.Columns.Add(c3, typeof(string));
dt.Columns.Add(c4, typeof(string));
dt.Columns.Add(c5, typeof(string));
dt.Columns.Add(c6, typeof(string));
dt.Columns.Add(c7, typeof(string));
dt.Columns.Add(c8, typeof(string));
dt.Columns.Add(c9, typeof(string));
dt.Columns.Add(c10, typeof(string));
else if (string.IsNullOrEmpty(c12))
dt.Columns.Add(c1, typeof(string));
dt.Columns.Add(c2, typeof(string));
dt.Columns.Add(c3, typeof(string));
dt.Columns.Add(c4, typeof(string));
dt.Columns.Add(c5, typeof(string));
dt.Columns.Add(c6, typeof(string));
dt.Columns.Add(c7, typeof(string));
dt.Columns.Add(c8, typeof(string));
dt.Columns.Add(c9, typeof(string));
dt.Columns.Add(c10, typeof(string));
dt.Columns.Add(c11, typeof(string));
else if (string.IsNullOrEmpty(c13))
dt.Columns.Add(c1, typeof(string));
dt.Columns.Add(c2, typeof(string));
dt.Columns.Add(c3, typeof(string));
dt.Columns.Add(c4, typeof(string));
dt.Columns.Add(c5, typeof(string));
dt.Columns.Add(c6, typeof(string));
dt.Columns.Add(c7, typeof(string));
dt.Columns.Add(c8, typeof(string));
dt.Columns.Add(c9, typeof(string));
dt.Columns.Add(c10, typeof(string));
dt.Columns.Add(c11, typeof(string));
dt.Columns.Add(c12, typeof(string));
else if (string.IsNullOrEmpty(c14))
dt.Columns.Add(c1, typeof(string));
dt.Columns.Add(c2, typeof(string));
dt.Columns.Add(c3, typeof(string));
dt.Columns.Add(c4, typeof(string));
dt.Columns.Add(c5, typeof(string));
dt.Columns.Add(c6, typeof(string));
dt.Columns.Add(c7, typeof(string));
dt.Columns.Add(c8, typeof(string));
dt.Columns.Add(c9, typeof(string));
dt.Columns.Add(c10, typeof(string));
dt.Columns.Add(c11, typeof(string));
dt.Columns.Add(c12, typeof(string));
dt.Columns.Add(c13, typeof(string));
else if (string.IsNullOrEmpty(c15))
dt.Columns.Add(c1, typeof(string));
dt.Columns.Add(c2, typeof(string));
dt.Columns.Add(c3, typeof(string));
dt.Columns.Add(c4, typeof(string));
dt.Columns.Add(c5, typeof(string));
dt.Columns.Add(c6, typeof(string));
dt.Columns.Add(c7, typeof(string));
dt.Columns.Add(c8, typeof(string));
dt.Columns.Add(c9, typeof(string));
dt.Columns.Add(c10, typeof(string));
dt.Columns.Add(c11, typeof(string));
dt.Columns.Add(c12, typeof(string));
dt.Columns.Add(c13, typeof(string));
dt.Columns.Add(c14, typeof(string));
else if (string.IsNullOrEmpty(c16))
dt.Columns.Add(c1, typeof(string));
dt.Columns.Add(c2, typeof(string));
dt.Columns.Add(c3, typeof(string));
dt.Columns.Add(c4, typeof(string));
dt.Columns.Add(c5, typeof(string));
dt.Columns.Add(c6, typeof(string));
dt.Columns.Add(c7, typeof(string));
dt.Columns.Add(c8, typeof(string));
dt.Columns.Add(c9, typeof(string));
dt.Columns.Add(c10, typeof(string));
dt.Columns.Add(c11, typeof(string));
dt.Columns.Add(c12, typeof(string));
dt.Columns.Add(c13, typeof(string));
dt.Columns.Add(c14, typeof(string));
else if (string.IsNullOrEmpty(c17))
dt.Columns.Add(c1, typeof(string));
dt.Columns.Add(c2, typeof(string));
dt.Columns.Add(c3, typeof(string));
dt.Columns.Add(c4, typeof(string));
dt.Columns.Add(c5, typeof(string));
dt.Columns.Add(c6, typeof(string));
dt.Columns.Add(c7, typeof(string));
dt.Columns.Add(c8, typeof(string));
dt.Columns.Add(c9, typeof(string));
dt.Columns.Add(c10, typeof(string));
dt.Columns.Add(c11, typeof(string));
dt.Columns.Add(c12, typeof(string));
dt.Columns.Add(c13, typeof(string));
dt.Columns.Add(c14, typeof(string));
else if (string.IsNullOrEmpty(c18))
dt.Columns.Add(c1, typeof(string));
dt.Columns.Add(c2, typeof(string));
dt.Columns.Add(c3, typeof(string));
dt.Columns.Add(c4, typeof(string));
dt.Columns.Add(c5, typeof(string));
dt.Columns.Add(c6, typeof(string));
dt.Columns.Add(c7, typeof(string));
dt.Columns.Add(c8, typeof(string));
dt.Columns.Add(c9, typeof(string));
dt.Columns.Add(c10, typeof(string));
dt.Columns.Add(c11, typeof(string));
dt.Columns.Add(c12, typeof(string));
dt.Columns.Add(c13, typeof(string));
dt.Columns.Add(c14, typeof(string));
else if (string.IsNullOrEmpty(c19))
dt.Columns.Add(c1, typeof(string));
dt.Columns.Add(c2, typeof(string));
dt.Columns.Add(c3, typeof(string));
dt.Columns.Add(c4, typeof(string));
dt.Columns.Add(c5, typeof(string));
dt.Columns.Add(c6, typeof(string));
dt.Columns.Add(c7, typeof(string));
dt.Columns.Add(c8, typeof(string));
dt.Columns.Add(c9, typeof(string));
dt.Columns.Add(c10, typeof(string));
dt.Columns.Add(c11, typeof(string));
dt.Columns.Add(c12, typeof(string));
dt.Columns.Add(c13, typeof(string));
dt.Columns.Add(c14, typeof(string));
else if (string.IsNullOrEmpty(c20))
dt.Columns.Add(c1, typeof(string));
dt.Columns.Add(c2, typeof(string));
dt.Columns.Add(c3, typeof(string));
dt.Columns.Add(c4, typeof(string));
dt.Columns.Add(c5, typeof(string));
dt.Columns.Add(c6, typeof(string));
dt.Columns.Add(c7, typeof(string));
dt.Columns.Add(c8, typeof(string));
dt.Columns.Add(c9, typeof(string));
dt.Columns.Add(c10, typeof(string));
dt.Columns.Add(c11, typeof(string));
dt.Columns.Add(c12, typeof(string));
dt.Columns.Add(c13, typeof(string));
dt.Columns.Add(c14, typeof(string));
dt.Columns.Add(c15, typeof(string));
dt.Columns.Add(c16, typeof(string));
dt.Columns.Add(c17, typeof(string));
dt.Columns.Add(c18, typeof(string));
dt.Columns.Add(c19, typeof(string));
dt.Columns.Add(c20, typeof(string));
else if (string.IsNullOrEmpty(c21))
dt.Columns.Add(c1, typeof(string));
dt.Columns.Add(c2, typeof(string));
dt.Columns.Add(c3, typeof(string));
dt.Columns.Add(c4, typeof(string));
dt.Columns.Add(c5, typeof(string));
dt.Columns.Add(c6, typeof(string));
dt.Columns.Add(c7, typeof(string));
dt.Columns.Add(c8, typeof(string));
dt.Columns.Add(c9, typeof(string));
dt.Columns.Add(c10, typeof(string));
dt.Columns.Add(c11, typeof(string));
dt.Columns.Add(c12, typeof(string));
dt.Columns.Add(c13, typeof(string));
dt.Columns.Add(c14, typeof(string));
dt.Columns.Add(c15, typeof(string));
dt.Columns.Add(c16, typeof(string));
dt.Columns.Add(c17, typeof(string));
dt.Columns.Add(c18, typeof(string));
dt.Columns.Add(c19, typeof(string));
dt.Columns.Add(c20, typeof(string));
dt.Columns.Add(c21, typeof(string));
else if (string.IsNullOrEmpty(c22))
dt.Columns.Add(c1, typeof(string));
dt.Columns.Add(c2, typeof(string));
dt.Columns.Add(c3, typeof(string));
dt.Columns.Add(c4, typeof(string));
dt.Columns.Add(c5, typeof(string));
dt.Columns.Add(c6, typeof(string));
dt.Columns.Add(c7, typeof(string));
dt.Columns.Add(c8, typeof(string));
dt.Columns.Add(c9, typeof(string));
dt.Columns.Add(c10, typeof(string));
dt.Columns.Add(c11, typeof(string));
dt.Columns.Add(c12, typeof(string));
dt.Columns.Add(c13, typeof(string));
dt.Columns.Add(c14, typeof(string));
dt.Columns.Add(c15, typeof(string));
dt.Columns.Add(c16, typeof(string));
dt.Columns.Add(c17, typeof(string));
dt.Columns.Add(c18, typeof(string));
dt.Columns.Add(c19, typeof(string));
dt.Columns.Add(c20, typeof(string));
dt.Columns.Add(c21, typeof(string));
dt.Columns.Add(c22, typeof(string));
else if (string.IsNullOrEmpty(c23))
dt.Columns.Add(c1, typeof(string));
dt.Columns.Add(c2, typeof(string));
dt.Columns.Add(c3, typeof(string));
dt.Columns.Add(c4, typeof(string));
dt.Columns.Add(c5, typeof(string));
dt.Columns.Add(c6, typeof(string));
dt.Columns.Add(c7, typeof(string));
dt.Columns.Add(c8, typeof(string));
dt.Columns.Add(c9, typeof(string));
dt.Columns.Add(c10, typeof(string));
dt.Columns.Add(c11, typeof(string));
dt.Columns.Add(c12, typeof(string));
dt.Columns.Add(c13, typeof(string));
dt.Columns.Add(c14, typeof(string));
dt.Columns.Add(c15, typeof(string));
dt.Columns.Add(c16, typeof(string));
dt.Columns.Add(c17, typeof(string));
dt.Columns.Add(c18, typeof(string));
dt.Columns.Add(c19, typeof(string));
dt.Columns.Add(c20, typeof(string));
dt.Columns.Add(c21, typeof(string));
dt.Columns.Add(c22, typeof(string));
dt.Columns.Add(c23, typeof(string));
else if (string.IsNullOrEmpty(c24))
dt.Columns.Add(c1, typeof(string));
dt.Columns.Add(c2, typeof(string));
dt.Columns.Add(c3, typeof(string));
dt.Columns.Add(c4, typeof(string));
dt.Columns.Add(c5, typeof(string));
dt.Columns.Add(c6, typeof(string));
dt.Columns.Add(c7, typeof(string));
dt.Columns.Add(c8, typeof(string));
dt.Columns.Add(c9, typeof(string));
dt.Columns.Add(c10, typeof(string));
dt.Columns.Add(c11, typeof(string));
dt.Columns.Add(c12, typeof(string));
dt.Columns.Add(c13, typeof(string));
dt.Columns.Add(c14, typeof(string));
dt.Columns.Add(c15, typeof(string));
dt.Columns.Add(c16, typeof(string));
dt.Columns.Add(c17, typeof(string));
dt.Columns.Add(c18, typeof(string));
dt.Columns.Add(c19, typeof(string));
dt.Columns.Add(c20, typeof(string));
dt.Columns.Add(c21, typeof(string));
dt.Columns.Add(c22, typeof(string));
dt.Columns.Add(c23, typeof(string));
dt.Columns.Add(c24, typeof(string));
else if (string.IsNullOrEmpty(c25))
dt.Columns.Add(c1, typeof(string));
dt.Columns.Add(c2, typeof(string));
dt.Columns.Add(c3, typeof(string));
dt.Columns.Add(c4, typeof(string));
dt.Columns.Add(c5, typeof(string));
dt.Columns.Add(c6, typeof(string));
dt.Columns.Add(c7, typeof(string));
dt.Columns.Add(c8, typeof(string));
dt.Columns.Add(c9, typeof(string));
dt.Columns.Add(c10, typeof(string));
dt.Columns.Add(c11, typeof(string));
dt.Columns.Add(c12, typeof(string));
dt.Columns.Add(c13, typeof(string));
dt.Columns.Add(c14, typeof(string));
dt.Columns.Add(c15, typeof(string));
dt.Columns.Add(c16, typeof(string));
dt.Columns.Add(c17, typeof(string));
dt.Columns.Add(c18, typeof(string));
dt.Columns.Add(c19, typeof(string));
dt.Columns.Add(c20, typeof(string));
dt.Columns.Add(c21, typeof(string));
dt.Columns.Add(c22, typeof(string));
dt.Columns.Add(c23, typeof(string));
dt.Columns.Add(c24, typeof(string));
dt.Columns.Add(c25, typeof(string));
else if (string.IsNullOrEmpty(c26))
dt.Columns.Add(c1, typeof(string));
dt.Columns.Add(c2, typeof(string));
dt.Columns.Add(c3, typeof(string));
dt.Columns.Add(c4, typeof(string));
dt.Columns.Add(c5, typeof(string));
dt.Columns.Add(c6, typeof(string));
dt.Columns.Add(c7, typeof(string));
dt.Columns.Add(c8, typeof(string));
dt.Columns.Add(c9, typeof(string));
dt.Columns.Add(c10, typeof(string));
dt.Columns.Add(c11, typeof(string));
dt.Columns.Add(c12, typeof(string));
dt.Columns.Add(c13, typeof(string));
dt.Columns.Add(c14, typeof(string));
dt.Columns.Add(c15, typeof(string));
dt.Columns.Add(c16, typeof(string));
dt.Columns.Add(c17, typeof(string));
dt.Columns.Add(c18, typeof(string));
dt.Columns.Add(c19, typeof(string));
dt.Columns.Add(c20, typeof(string));
dt.Columns.Add(c21, typeof(string));
dt.Columns.Add(c22, typeof(string));
dt.Columns.Add(c23, typeof(string));
dt.Columns.Add(c24, typeof(string));
dt.Columns.Add(c25, typeof(string));
dt.Columns.Add(c26, typeof(string));
else if (string.IsNullOrEmpty(c27))
dt.Columns.Add(c1, typeof(string));
dt.Columns.Add(c2, typeof(string));
dt.Columns.Add(c3, typeof(string));
dt.Columns.Add(c4, typeof(string));
dt.Columns.Add(c5, typeof(string));
dt.Columns.Add(c6, typeof(string));
dt.Columns.Add(c7, typeof(string));
dt.Columns.Add(c8, typeof(string));
dt.Columns.Add(c9, typeof(string));
dt.Columns.Add(c10, typeof(string));
dt.Columns.Add(c11, typeof(string));
dt.Columns.Add(c12, typeof(string));
dt.Columns.Add(c13, typeof(string));
dt.Columns.Add(c14, typeof(string));
dt.Columns.Add(c15, typeof(string));
dt.Columns.Add(c16, typeof(string));
dt.Columns.Add(c17, typeof(string));
dt.Columns.Add(c18, typeof(string));
dt.Columns.Add(c19, typeof(string));
dt.Columns.Add(c20, typeof(string));
dt.Columns.Add(c21, typeof(string));
dt.Columns.Add(c22, typeof(string));
dt.Columns.Add(c23, typeof(string));
dt.Columns.Add(c24, typeof(string));
dt.Columns.Add(c25, typeof(string));
dt.Columns.Add(c26, typeof(string));
dt.Columns.Add(c27, typeof(string));
else if (string.IsNullOrEmpty(c28))
dt.Columns.Add(c1, typeof(string));
dt.Columns.Add(c2, typeof(string));
dt.Columns.Add(c3, typeof(string));
dt.Columns.Add(c4, typeof(string));
dt.Columns.Add(c5, typeof(string));
dt.Columns.Add(c6, typeof(string));
dt.Columns.Add(c7, typeof(string));
dt.Columns.Add(c8, typeof(string));
dt.Columns.Add(c9, typeof(string));
dt.Columns.Add(c10, typeof(string));
dt.Columns.Add(c11, typeof(string));
dt.Columns.Add(c12, typeof(string));
dt.Columns.Add(c13, typeof(string));
dt.Columns.Add(c14, typeof(string));
dt.Columns.Add(c15, typeof(string));
dt.Columns.Add(c16, typeof(string));
dt.Columns.Add(c17, typeof(string));
dt.Columns.Add(c18, typeof(string));
dt.Columns.Add(c19, typeof(string));
dt.Columns.Add(c20, typeof(string));
dt.Columns.Add(c21, typeof(string));
dt.Columns.Add(c22, typeof(string));
dt.Columns.Add(c23, typeof(string));
dt.Columns.Add(c24, typeof(string));
dt.Columns.Add(c25, typeof(string));
dt.Columns.Add(c26, typeof(string));
dt.Columns.Add(c27, typeof(string));
dt.Columns.Add(c28, typeof(string));
else if (string.IsNullOrEmpty(c29))
dt.Columns.Add(c1, typeof(string));
dt.Columns.Add(c2, typeof(string));
dt.Columns.Add(c3, typeof(string));
dt.Columns.Add(c4, typeof(string));
dt.Columns.Add(c5, typeof(string));
dt.Columns.Add(c6, typeof(string));
dt.Columns.Add(c7, typeof(string));
dt.Columns.Add(c8, typeof(string));
dt.Columns.Add(c9, typeof(string));
dt.Columns.Add(c10, typeof(string));
dt.Columns.Add(c11, typeof(string));
dt.Columns.Add(c12, typeof(string));
dt.Columns.Add(c13, typeof(string));
dt.Columns.Add(c14, typeof(string));
dt.Columns.Add(c15, typeof(string));
dt.Columns.Add(c16, typeof(string));
dt.Columns.Add(c17, typeof(string));
dt.Columns.Add(c18, typeof(string));
dt.Columns.Add(c19, typeof(string));
dt.Columns.Add(c20, typeof(string));
dt.Columns.Add(c21, typeof(string));
dt.Columns.Add(c22, typeof(string));
dt.Columns.Add(c23, typeof(string));
dt.Columns.Add(c24, typeof(string));
dt.Columns.Add(c25, typeof(string));
dt.Columns.Add(c26, typeof(string));
dt.Columns.Add(c27, typeof(string));
dt.Columns.Add(c28, typeof(string));
dt.Columns.Add(c29, typeof(string));
dt.Columns.Add(c1, typeof(string));
dt.Columns.Add(c2, typeof(string));
dt.Columns.Add(c3, typeof(string));
dt.Columns.Add(c4, typeof(string));
dt.Columns.Add(c5, typeof(string));
dt.Columns.Add(c6, typeof(string));
dt.Columns.Add(c7, typeof(string));
dt.Columns.Add(c8, typeof(string));
dt.Columns.Add(c9, typeof(string));
dt.Columns.Add(c10, typeof(string));
dt.Columns.Add(c11, typeof(string));
dt.Columns.Add(c12, typeof(string));
dt.Columns.Add(c13, typeof(string));
dt.Columns.Add(c14, typeof(string));
dt.Columns.Add(c15, typeof(string));
dt.Columns.Add(c16, typeof(string));
dt.Columns.Add(c17, typeof(string));
dt.Columns.Add(c18, typeof(string));
dt.Columns.Add(c19, typeof(string));
dt.Columns.Add(c20, typeof(string));
dt.Columns.Add(c21, typeof(string));
dt.Columns.Add(c22, typeof(string));
dt.Columns.Add(c23, typeof(string));
dt.Columns.Add(c24, typeof(string));
dt.Columns.Add(c25, typeof(string));
dt.Columns.Add(c26, typeof(string));
dt.Columns.Add(c27, typeof(string));
dt.Columns.Add(c28, typeof(string));
dt.Columns.Add(c29, typeof(string));
dt.Columns.Add(c30, typeof(string));
public static void DebugWriteNameValueSeparatedLine(string name, string val)
if (!string.IsNullOrEmpty(val))
DebugWriteLine(string.Concat("-- ", name, " -------------------------------------------------------"));
DebugWriteLine("-- -------------------------------------------------------------");
public static void DebugWriteLine(string str)
public void DebugWriteDictionary(Dictionary<string, string> dictionary, string desc)
Debug.WriteLine("# ******** " + desc + " ************** " + Environment.NewLine + Environment.NewLine);
DebugWriteDictionary(dictionary);
Debug.WriteLine("# ******** End ************** " + Environment.NewLine + Environment.NewLine);
public void DebugWriteDictionary(Dictionary<string, int> dictionary, string desc)
Debug.WriteLine("# ******** " + desc + " ************** " + Environment.NewLine + Environment.NewLine);
DebugWriteDictionary(dictionary);
Debug.WriteLine("# ******** End ************** " + Environment.NewLine + Environment.NewLine);
public void DebugWriteDictionary(Dictionary<string, object> dictionary, string desc)
Debug.WriteLine("# ******** " + desc + " ************** " + Environment.NewLine + Environment.NewLine);
DebugWriteDictionary(dictionary);
Debug.WriteLine("# ******** End ************** " + Environment.NewLine + Environment.NewLine);
public void DebugWriteDictionary(Dictionary<string, string> dictionary)
foreach (KeyValuePair<string, string> kvp in dictionary)
Debug.WriteLine(string.Format("Key = {••0}••••••••••, Value = {••••••••1}••••••••", kvp.Key, kvp.Value));
public void DebugWriteDictionary(Dictionary<string, int> dictionary)
foreach (KeyValuePair<string, int> kvp in dictionary)
Debug.WriteLine(string.Format("Key = {••0}••••••••••, Value = {••••••••1}••••••••", kvp.Key.ToString(), kvp.Value.ToString()));
public void DebugWriteDictionary(Dictionary<string, object> dictionary)
foreach (KeyValuePair<string, object> kvp in dictionary)
Debug.WriteLine(string.Format("Key = {••0}••••••••", kvp.Key));
DebugWriteObject(kvp.Value);
public void DebugWriteDictionary(List<string> listOfString, string desc)
Debug.WriteLine("# ******** " + desc + " ************** " + Environment.NewLine + Environment.NewLine);
DebugWriteListOfString(listOfString);
Debug.WriteLine("# ******** End ************** " + Environment.NewLine + Environment.NewLine);
public void DebugWriteListOfString(List<string> listOfString)
listOfString.ForEach(i => Debug.WriteLine(string.Format("{0}\t", i)));
public static void DebugWriteObject(object obj, string desc)
if (string.IsNullOrEmpty(desc))
desc = $"Object: {obj.ToString()}";
Debug.WriteLine("# ******** " + desc + " ************** " + Environment.NewLine + Environment.NewLine);
Debug.WriteLine("# ******** " + "End " + " ************** " + Environment.NewLine + Environment.NewLine);
public static void DebugWriteObject(object obj)
Debug.WriteLine(JsonConvert.SerializeObject(obj, Formatting.Indented));
public void DebugWriteSeparatedLine(string str, string desc)
if (!string.IsNullOrEmpty(str))
WriteLine(string.Concat("-- ", desc, " -------------------------------------------------------"));
WriteLine("-- -------------------------------------------------------------");
public void WriteLine(string str)
public void DebugWriteReader(MySqlDataReader rdr, string desc)
Debug.WriteLine("# ******** " + desc + " ************** " + Environment.NewLine + Environment.NewLine);
Debug.WriteLine("# ******** " + "End " + " ************** " + Environment.NewLine + Environment.NewLine);
public void DebugWriteReader(MySqlDataReader rdr)
DataTable dT = new DataTable();
DebugWriteTableToConsole(dT);
Debug.WriteLine("No Rows");
Debug.WriteLine("No Rows");
catch (MySqlException sqlEx)
Debug.WriteLine(sqlEx.Message);
Debug.WriteLine(ex.Message);
public static void DebugWriteTableToConsole(DataTable dt, string desc = "")
if (dt != null && dt.Rows.Count > 0)
string[] name = new string[dt.Columns.Count + 1 - 1 + 1];
if (string.IsNullOrEmpty(desc))
DebugWriteNameValueSeparatedLine("", dt.TableName);
DebugWriteNameValueSeparatedLine("", desc);
foreach (DataColumn column in dt.Columns)
name[i] = column.ColumnName;
Debug.WriteLine("|" + string.Join("|", name));
foreach (DataRow row in dt.Rows)
Debug.WriteLine("|" + string.Join("|", row.ItemArray) + "|");
Debug.WriteLine(string.Format("Rows.Count = {0}" + Constants.vbCrLf, dt.Rows.Count));
Debug.WriteLine(ex.Message);
public void DebugWriteTableToConsole(DataTable dt)
if (dt != null && dt.Rows.Count > 0)
string[] name = new string[dt.Columns.Count + 1];
foreach (DataColumn column in dt.Columns)
name[i] = column.ColumnName;
Debug.WriteLine("|" + string.Join("|", name));
foreach (DataRow row in dt.Rows)
Debug.WriteLine("| " + string.Join(" | ", row.ItemArray) + " |");
Debug.WriteLine($"Rows.Count = {dt.Rows.Count.ToString()}");
catch (MySqlException sqlEx)
Debug.WriteLine(sqlEx.Message);
Debug.WriteLine(ex.Message);
public void DebugWriteTableColumnNamesToConsole(DataTable dt)
if (dt != null && dt.Rows.Count > 0)
string[] name = new string[dt.Columns.Count + 1];
foreach (DataColumn column in dt.Columns)
name[i] = column.ColumnName;
Debug.WriteLine("|" + string.Join("|", name));
catch (MySqlException sqlEx)
Debug.WriteLine(sqlEx.Message);
Debug.WriteLine(ex.Message);
public void DebugWriteDataRowToConsole(DataRow row, string desc)
if (!string.IsNullOrEmpty(desc))
DebugWriteSeparatedLine(desc, "");
DebugWriteDataRowToConsole(row);
DebugWriteDataRowToConsole(row);
public void DebugWriteDataRowToConsole(DataRow row)
Debug.WriteLine("| " + string.Join(" | ", row.ItemArray) + " |");
catch (MySqlException sqlEx)
Debug.WriteLine(sqlEx.Message);
Debug.WriteLine(ex.Message);
public void DebugWriteDataRowListedToConsole(DataRow row, string desc)
if (!string.IsNullOrEmpty(desc))
DebugWriteSeparatedLine(desc, "");
DebugWriteDataRowListedToConsole(row);
DebugWriteDataRowListedToConsole(row);
public void DebugWriteDataRowListedToConsole(DataRow row)
foreach (var item in row.ItemArray)
Debug.WriteLine(string.Format("Int: {0}", item));
Debug.WriteLine(string.Format("String: {0}", item));
else if (item is DateTime)
Debug.WriteLine(string.Format("DateTime: {0}", item));
catch (MySqlException sqlEx)
Debug.WriteLine(sqlEx.Message);
Debug.WriteLine(ex.Message);
public static void WriteLine(string writeLine)
Console.WriteLine(writeLine);