From 4e8d33649887a5ffc97078ed513e634a31b5e613 Mon Sep 17 00:00:00 2001 From: Andy Howard Date: Fri, 25 Jun 2021 11:25:36 +0100 Subject: [PATCH] Saxonite v1.1.0 --- .../Base/Bus/SacsHierarchyItem.cs | 2 +- SacsStandardBase/Base/Utils/DateUtil.cs | 27 ++++++++++++++++--- .../Dbas/Data/SacsDatabaseOdbc.cs | 10 +++++++ 3 files changed, 35 insertions(+), 4 deletions(-) diff --git a/SacsStandardBase/Base/Bus/SacsHierarchyItem.cs b/SacsStandardBase/Base/Bus/SacsHierarchyItem.cs index 71d1b1e..6ac2a18 100644 --- a/SacsStandardBase/Base/Bus/SacsHierarchyItem.cs +++ b/SacsStandardBase/Base/Bus/SacsHierarchyItem.cs @@ -188,7 +188,7 @@ namespace Sarand.Net.Standard.Base.Bus if (Changed) return; Changed = ((int)(oldValue as IConvertible) != (int)(newValue as IConvertible)); } - protected void CheckChanged (int oldValue, int newValue) + protected void CheckChanged (long oldValue, long newValue) { if (Changed) return; Changed = (oldValue != newValue); diff --git a/SacsStandardBase/Base/Utils/DateUtil.cs b/SacsStandardBase/Base/Utils/DateUtil.cs index 75b8629..e12bff1 100644 --- a/SacsStandardBase/Base/Utils/DateUtil.cs +++ b/SacsStandardBase/Base/Utils/DateUtil.cs @@ -10,6 +10,10 @@ namespace Sarand.Net.Standard.Base.Utils { //------------------------------------------------------------------------- // Definitions. + public static String Format_SqlDate { get; } = "yyyy-MM-dd"; + public static String Format_SqlTime { get; } = "HH:mm:ss.fff"; + public static String Delim_SqlTime { get; } = " "; + public static String Format_SqlDateTime { get; } = Format_SqlDate + Delim_SqlTime + Format_SqlTime; public static String Format_XmlDate { get; } = "yyyy-MM-dd"; public static String Format_XmlTime { get; } = "HH:mm:ss"; public static String Delim_XmlTime { get; } = "T"; @@ -571,19 +575,36 @@ namespace Sarand.Net.Standard.Base.Utils return String.Empty; } + //------------------------------------------------------------------- + /// Format as SQL date: 'yyyy-MM-dd' + public static String FormatSqlDate(this DateTime value) + { + return Format(value, Format_SqlDate); + } + /// Format as SQL time: 'HH:mm:ss' + public static String FormatSqlTime(this DateTime value) + { + return Format(value, Format_SqlTime); + } + /// Format as SQL datetime: 'yyyy-MM-ddTHH:mm:ss' + public static String FormatSqlDateTime(this DateTime value) + { + return Format(value, Format_SqlDateTime); + } + //------------------------------------------------------------------- /// Format as XML date: 'yyyy-MM-dd' - public static String FormatXmlDate (this DateTime value) + public static String FormatXmlDate(this DateTime value) { return Format(value, Format_XmlDate); } /// Format as XML time: 'HH:mm:ss' - public static String FormatXmlTime (this DateTime value) + public static String FormatXmlTime(this DateTime value) { return Format(value, Format_XmlTime); } /// Format as XML datetime: 'yyyy-MM-ddTHH:mm:ss' - public static String FormatXmlDateTime (this DateTime value) + public static String FormatXmlDateTime(this DateTime value) { return Format(value, Format_XmlDateTime); } diff --git a/SacsStandardDbas/Dbas/Data/SacsDatabaseOdbc.cs b/SacsStandardDbas/Dbas/Data/SacsDatabaseOdbc.cs index 8f3dff8..4137fe1 100644 --- a/SacsStandardDbas/Dbas/Data/SacsDatabaseOdbc.cs +++ b/SacsStandardDbas/Dbas/Data/SacsDatabaseOdbc.cs @@ -368,6 +368,7 @@ namespace Sarand.Net.Standard.Dbas.Data // Only populate table names if not previously done. if (tables.Count < 1 || refresh) { + tables.Clear(); using (DbConnection dbConnection = CreateConnection(true)) { dbConnection.Open(); @@ -862,6 +863,15 @@ namespace Sarand.Net.Standard.Dbas.Data } } } + + // Query to list included columns. + // Select IndexName = i.Name, ColName = c.Name + // From sys.indexes i + // Inner Join sys.index_columns ic On ic.object_id = i.object_id And ic.index_id = i.index_id + // Inner Join sys.columns c On c.object_id = ic.object_id And c.column_id = ic.column_id + // Where ic.is_included_column = 1 + // Order By i.Name + // Attempt to retrieve included columns (SQL only). SqlConnection sqlConnection = dbConnection as SqlConnection; if (sqlConnection != null)