diff --git a/ServerExplorer/TablaDesc.cs b/ServerExplorer/TablaDesc.cs index 88d45a1..114254d 100644 --- a/ServerExplorer/TablaDesc.cs +++ b/ServerExplorer/TablaDesc.cs @@ -63,20 +63,21 @@ namespace ServerExplorer // Preparar comando y parametros da = new SqlDataAdapter( - "select col.COLUMN_NAME as Columna, " + - " col.DATA_TYPE as Tipo, " + - " col.CHARACTER_MAXIMUM_LENGTH as Tamanho, " + - " c.CONSTRAINT_TYPE as TipoClave " + - " from INFORMATION_SCHEMA.COLUMNS as col " + - " left join INFORMATION_SCHEMA.KEY_COLUMN_USAGE as k " + - " on col.COLUMN_NAME=k.COLUMN_NAME and " + - " col.TABLE_NAME=k.TABLE_NAME and " + + "SELECT col.COLUMN_NAME AS Columna, " + + " col.DATA_TYPE AS Tipo, " + + " col.CHARACTER_MAXIMUM_LENGTH AS Tamanho, " + + " c.CONSTRAINT_TYPE AS TipoClave, " + + " col.IS_NULLABLE AS Nullable " + + " FROM INFORMATION_SCHEMA.COLUMNS AS col " + + " LEFT JOIN INFORMATION_SCHEMA.KEY_COLUMN_USAGE AS k " + + " ON col.COLUMN_NAME=k.COLUMN_NAME AND " + + " col.TABLE_NAME=k.TABLE_NAME AND " + " col.TABLE_SCHEMA=k.TABLE_SCHEMA " + - " left join INFORMATION_SCHEMA.TABLE_CONSTRAINTS as c " + - " on k.CONSTRAINT_NAME=c.CONSTRAINT_NAME " + + " LEFT JOIN INFORMATION_SCHEMA.TABLE_CONSTRAINTS AS c " + + " ON k.CONSTRAINT_NAME=c.CONSTRAINT_NAME " + " WHERE col.TABLE_NAME=@nombreTabla AND " + " col.TABLE_SCHEMA=@nombreEsquema " + - " order by col.ORDINAL_POSITION", + " ORDER BY col.ORDINAL_POSITION", cnx); prm = new SqlParameter("@nombreTabla", SqlDbType.VarChar, 100); prm.Value = nombre; @@ -119,6 +120,8 @@ namespace ServerExplorer col.Primaria = true; } } + string strNullable=((String)dr["Nullable"]).ToLower(); + col.Nullable = (strNullable == "yes"); } } @@ -170,6 +173,14 @@ namespace ServerExplorer set { tamanho = value; } } + private bool nullable = false; + [XmlAttribute("Nullable")] + public bool Nullable + { + get { return nullable; } + set { nullable = value; } + } + private bool primaria = false; [XmlAttribute("Primaria")] public bool Primaria