From e326eb754aa54635e2a30a4f4eda4b43f7cd165a Mon Sep 17 00:00:00 2001 From: "Valeriano A.R" Date: Mon, 7 Oct 2019 11:20:02 +0200 Subject: [PATCH] ColumnDA: Get columns collation. --- VAR.DatabaseExplorer/Code/BusinessLogic/TableBL.cs | 10 ++++++++++ VAR.DatabaseExplorer/Code/DataAccess/ColumnDA.cs | 2 ++ VAR.DatabaseExplorer/Code/DataTransfer/Column.cs | 3 +++ 3 files changed, 15 insertions(+) diff --git a/VAR.DatabaseExplorer/Code/BusinessLogic/TableBL.cs b/VAR.DatabaseExplorer/Code/BusinessLogic/TableBL.cs index 5bf0ee3..500204e 100644 --- a/VAR.DatabaseExplorer/Code/BusinessLogic/TableBL.cs +++ b/VAR.DatabaseExplorer/Code/BusinessLogic/TableBL.cs @@ -126,6 +126,16 @@ namespace VAR.DatabaseExplorer.Code.BusinessLogic { txtWriter.Write(c.Type); } + if (string.IsNullOrEmpty(c.Colation) == false && ( + c.Type == "nvarchar" || + c.Type == "varchar" || + c.Type == "char" || + c.Type == "nchar" || + false + )) + { + txtWriter.Write(string.Format(" COLLATE {0}", c.Colation)); + } if (c.Nullable) { txtWriter.Write(" NULL"); diff --git a/VAR.DatabaseExplorer/Code/DataAccess/ColumnDA.cs b/VAR.DatabaseExplorer/Code/DataAccess/ColumnDA.cs index ff46ea2..43d4b68 100644 --- a/VAR.DatabaseExplorer/Code/DataAccess/ColumnDA.cs +++ b/VAR.DatabaseExplorer/Code/DataAccess/ColumnDA.cs @@ -24,6 +24,7 @@ namespace VAR.DatabaseExplorer.Code.DataAccess c.KeyType AS KeyType, col.IS_NULLABLE AS Nullable, CASE WHEN (COLUMNPROPERTY(object_id(col.TABLE_SCHEMA+'.'+col.TABLE_NAME), col.COLUMN_NAME, 'IsIdentity') = 1) THEN 1 ELSE 0 END IsIdentity, + col.COLLATION_NAME Colation, NULL EmptyColumn FROM INFORMATION_SCHEMA.COLUMNS AS col LEFT JOIN ( @@ -81,6 +82,7 @@ namespace VAR.DatabaseExplorer.Code.DataAccess col.PK = true; } col.Indentity = Convert.ToBoolean(dr["IsIdentity"]); + col.Colation = Convert.ToString(dr["Colation"]); columns.Add(col); } diff --git a/VAR.DatabaseExplorer/Code/DataTransfer/Column.cs b/VAR.DatabaseExplorer/Code/DataTransfer/Column.cs index 3c8cae6..e092fb1 100644 --- a/VAR.DatabaseExplorer/Code/DataTransfer/Column.cs +++ b/VAR.DatabaseExplorer/Code/DataTransfer/Column.cs @@ -29,5 +29,8 @@ namespace VAR.DatabaseExplorer.Code.DataTransfer [XmlAttribute] public bool Indentity { get; set; } + + [XmlAttribute] + public string Colation { get; set; } } } \ No newline at end of file