public class DataTableHelper { public Int32 RecordCount { get { if (null == table) return 0; else return table.Rows.Count; } //private set { } - no need for set as this property makes sense as get only } public DataTable table = null; SqlDataAdapter adapter = null; //===================================================================================================================== public DataTableHelper() { } //===================================================================================================================== public DataTableHelper(SqlCommand toSqlCommand) { ProcessDataTable(toSqlCommand); } //===================================================================================================================== public Boolean Populate(SqlCommand toSqlCommand) { return ProcessDataTable(toSqlCommand); }I don't see why the UpdateCommand (and other commands) remain null until I explicitly request them.