Комментарий MSSQL в колонке [дубликат]

Другим случаем, когда NullReferenceExceptions может случиться, является (неправильное) использование оператора as :

class Book {
    public string Name { get; set; }
}
class Car { }

Car mycar = new Car();
Book mybook = mycar as Book;   // Incompatible conversion --> mybook = null

Console.WriteLine(mybook.Name);   // NullReferenceException

Здесь Book и Car являются несовместимыми типами; a Car не может быть преобразован / передан в Book. Когда этот сбой завершается неудачно, as возвращает null. Используя mybook после этого, вы вызываете NullReferenceException.

В общем случае вы должны использовать cast или as, как показано ниже:

Если вы ожидаете преобразования типа в всегда преуспевает (т. е. вы знаете, какой объект должен быть впереди времени), тогда вы должны использовать cast:

ComicBook cb = (ComicBook)specificBook;

Если вы не уверены в типе, но хотите попробовать , чтобы использовать его как определенный тип, затем используйте as:

ComicBook cb = specificBook as ComicBook;
if (cb != null) {
   // ...
}

21
задан marc_s 3 January 2011 в 19:15
поделиться

6 ответов

Вы можете добавлять комментарии к таблицам и столбцам, создавая так называемые расширенные свойства. Вы можете добавлять расширенные свойства как на уровне таблицы, так и на уровне столбца. Это может быть сделано с помощью T-SQL или SSMS.

Например, в T-SQL это выглядит примерно так:

sp_addextendedproperty 'BackColor', 'Red', 'user', '<schema name>', 'table', '<table name', 'column', '<column name>'.

Вы можете узнать больше об этом здесь

22
ответ дан Randy Minder 27 August 2018 в 14:04
поделиться

используют эту команду sql

Create table TABLE NAME (ATTRIBUTE NAME (ATTRIBUTE SIZE)) // оба create и table являются ключевыми словами

-3
ответ дан Dasanan 27 August 2018 в 14:04
поделиться

Это то, что я использую

[f1]

31
ответ дан J Henzel 27 August 2018 в 14:04
поделиться

Чтобы добавить комментарии к столбцам / таблицам в Sql Server, вам нужно использовать хранимую процедуру с именем sp_addextendedproperty .

2
ответ дан Klaus Byskov Pedersen 27 August 2018 в 14:04
поделиться

В этом посте есть хорошие ответы. Добавив, что значение «MS_Description» может быть другим. Например, мы можем использовать «SourceDescription» для получения информации об источнике данных «TableDescription» для таблицы и «ColumnDescription» для каждого столбца таблицы.

Пример:

-- Create example table
create table testTablename(
    id int,
    name varchar(20),
    registerNumber bigint
)

-- SourceDescription
EXEC sys.sp_addextendedproperty 
    @name=N'SourceDescription', 
    @value=N'Result of process x union y ' , -- Comment about the source this data. 
    @level0type=N'SCHEMA',
    @level0name=N'dbo', 
    @level1type=N'TABLE',
    @level1name=N'testTableName' -- Name of Table

-- TableDescription
EXEC sys.sp_addextendedproperty 
    @name=N'TableDescription', 
    @value=N'Table is used for send email to clients.' , -- Coment about the used of table
    @level0type=N'SCHEMA',
    @level0name=N'dbo', 
    @level1type=N'TABLE',
    @level1name=N'testTableName'

-- ColumnDescription
EXECUTE sp_addextendedproperty 
    @name = 'ColumnDescription', 
    @value = 'Unique identification of employer. Its the registry of company too.', 
    @level0type = 'SCHEMA', 
    @level0name= N'dbo', 
    @level1type = N'TABLE', 
    @level1name = N'testTableName', 
    @level2type = N'COLUMN', 
    @level2name = N'registerNumber'

-- If necessary, you can delete the comment.
exec sp_dropextendedproperty
    @name = 'ColumnDescription', 
    @level0type = 'SCHEMA', 
    @level0name= N'dbo', 
    @level1type = N'TABLE', 
    @level1name = N'testTableName', 
    @level2type = N'COLUMN', 
    @level2name = N'registerNumber'


-- Show you the table resume
select 
    tables.name tableName,
    tables.create_date,
    tables.modify_date,
    tableDesc.value TableDescription,
    sourceDesc.value SourceDescription
from 
    sys.tables  
    left join sys.extended_properties tableDesc on tables.object_id = tableDesc.major_id and tableDesc.name = 'TableDescription'
    left join sys.extended_properties sourceDesc on tables.object_id = sourceDesc.major_id and sourceDesc.name = 'SourceDescription'
where 
    tableDesc.name in('TableDescription', 'SourceDescription', 'ColumnDescription')
order by tables.name


-- show you the columns resume
select 
    tables.name tableName,
    columns.name columnName,
    extended_properties.value
from 
    sys.tables 
    inner join sys.columns on tables.object_id = columns.object_id
    left join sys.extended_properties on 
        tables.object_id = extended_properties.major_id 
        and columns.column_id = extended_properties.minor_id
        and extended_properties.name in('MS_Description','ColumnDescription')
where
    tables.name = 'testTableName'
7
ответ дан Max Duarte 27 August 2018 в 14:04
поделиться

Я предпочитаю графический интерфейс при создании таблиц, потому что лучше визуализировать макет. В GUI-дизайнере можно добавить описание для таблицы и столбцов в окне свойств, как показано на рисунке ниже alt text [/g0]

11
ответ дан RC_Cleland 27 August 2018 в 14:04
поделиться
Другие вопросы по тегам:

Похожие вопросы: