r00n3y Ответов: 1

Как мне bool datatime из SQL getdatetime in ASP.NET с#


У меня есть GetDateTime в C#, который выбирает данные из SQL

ShipDate.Text = drr.GetDateTime(18).ToString("MM/dd/yyyy");


Но так как данные присутствуют не всегда, то у меня есть нули. Как я могу это исправить?

Что я уже пробовал:

Я пробовал использовать что-то похожее на приведенное ниже, но не повезло

<pre lang="c#">Convert.ToDecimal(string.IsNullOrEmpty(Rejected.Text) ? "0" : Rejected.Text)

Bryian Tan

Это столбец типа datetime? Попробовать это.

ShipDate.Text = drr.GetDateTime(18)==DateTime.MinValue? "" : drr.GetDateTime(18).ToString("MM/dd/yyyy");

r00n3y

Приближаюсь, но получаю следующую ошибку: дата равна нулю. Этот метод или свойство не могут быть вызваны для нулевых значений.
А тип данных столбца-дата.

Bryian Tan

передо мной нет компилятора. как насчет

Судовая дата.Text = drr. GetDateTime(18)= = null ? "": drr. GetDateTime(18). ToString ("MM/dd/yyyy");

или

Судовая дата.Текст = drr.IsDbBull(18) ? "" : СРБ.GetDateTime(18).Метод toString("ММ/ДД/гггг");

Я предполагаю, что drr = sqlDataReader

[no name]

Вы не можете присвоить null структуре DateTime, поскольку структуры являются типами значений, в то время как null означает пустой указатель и поэтому может быть присвоен только переменным ссылочного типа.

1 Ответов

Рейтинг:
4

Vinod Jangle

Можете ли вы попробовать ниже -

DateTime? dt = reader["ActivationTime"] as DateTime? ;
 var str = dt.HasValue ? dt.Value.ToString() : "no value";


[no name]

Замените "ActivationTime" на имя вашего столбца здесь

r00n3y

Это похоже на работу. Спасибо

[no name]

Вы можете использовать формат, как показано ниже в ToString -

стр ВАР = ДТ.Свойство hasvalue ? ДТ.Значение.ToString ("ddMMyyyy") : "нет значения";

r00n3y

Извините, Да, я собирался поставить "ММ/ДД/гггг", но не стал пытаться и пошел вперед, чтобы ответить здесь, спрашивая, как исправить чч:мм:... Но я смог заставить его работать с "ММ/ДД/гггг"

Спасибо