2015-05-16 2 views
0

Я пытаюсь вставить в свою таблицу SQL Server текущую дату.Мои "данные по умолчанию (getdate())", это не работает

Моя таблица содержит 3 файла:

CREATE TABLE [dbo].[MyTable] 
(
    [Id] INT IDENTITY (1, 1) NOT NULL, 
    [Name] NVARCHAR (50) NOT NULL, 
    [Date] DATE 
     CONSTRAINT [DF_MyTable_Date] DEFAULT (getdate()) NOT NULL, 

    CONSTRAINT [PK_MyTable] PRIMARY KEY CLUSTERED ([Id] ASC) 
) 

Когда новый пользователь хочет зарегистрироваться в системе, он имеет только вставить его имя.

В моей таблице Идентификатор создается автоматически и дата тоже, но дата показывает 01/01/0001 вместо текущего дня.

Где ошибка?

+0

Вы должны отправить его 'new DateTime()'. Сделайте свою переменную date nullable ('DateTime?') И убедитесь, что ее значение равно null. – Crowcoder

+0

Если я поместил нуль в переменную DATE, когда я нажму «Просмотр данных», я получаю NULL вместо текущей даты. –

+1

Я не знаю, что такое «Просмотр данных» или как оно реализовано. Я создал вашу таблицу на моем сервере sql и опубликовал этот запрос и успешно получил сегодняшнюю дату. Проблема в коде .net, который вы не указали. 'insert into myTable (name) values ​​('foobar');' – Crowcoder

ответ

0

если создать переменную типа DateTime в C#, как

вар today_date = new DateTime();

и сделать Console.WriteLine(today_date); можете видеть распечатать 0001-01-01

Так что это по умолчанию значение нуль ..

Используйте DBNull.Value для вставки SQL NULL из C# и проверьте результат

Смежные вопросы