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)