Как преобразовать дату SQL в DateTime?

У меня есть колонка сdate введите в моей базе данных SQL. Как я могу конвертировать его в C #DateTime а затем снова вернуться к SQL?date

 Gian Acuna19 мая 2013 г., 15:07
как вы получаете записи?
 petros19 мая 2013 г., 15:19
Я хочу использовать что-то вродеВыберите * из новостей, где add_date < @selected_date» И я использую SqlDataReader

Ответы на вопрос(3)

DATE может быть напрямую приведен к .netDateTime и наоборот.

чтобы получить это, используйтеDataReader.GetDatetime Method

DateTime myDate = myDataReader.GetDateTime(myColumnIndex);

чтобы установить его, просто присвойте ему значениеParameter и использовать.Date свойство DateTime

 Tarık Özgün Güner10 мар. 2015 г., 20:15
Спасибо. Я запутался, когда MSDN говорит "Преобразования не выполняются; следовательно, полученные данные уже должны быть объектом DateTime. "
 string mydate= Convert.ToDateTime(reader["dateColumn"]).ToShortDateString().ToString());

c # Чтобы получить дату от читателя

DateTime date1;
DateTime.TryParse(reader["datecolumn"], out date1);

Чтобы вставить дату

string date1="2013-12-12"; 
DateTime date2;
DateTime.TryParse(reader["datecolumn"],out date2);

SqlCommand cmd= new SqlCommand("Insert into table (dateColumn) Values(@date2)",connection);
cmd.Parameters.AddWithValue("@date2",date2.Date);

TryParse возвращает true при успешном приведении false в противном случае.

VB

Чтобы получить дату от читателя

Dim date1 as Date=CType(reader("dateColumn"),Date)

Чтобы вставить дату

 Dim date1 as String="2013-12-12" 'you can get this date from an html input of type date

 Dim cmd As New SqlCommand("Insert into table (dateColumn) Values(@date1)",connection)
 cmd.Parameters.AddWithValue("@date1",CType(date1, Date))

ПРИМЕЧАНИЕ: код написан на VB. Вы можете легко написать эквивалент C # приведенного выше кода. Имя функции остается одинаковым как в VB, так и в c #. Также CType недоступен в c # (хотя это то же самое, что явное приведение переменной, например.date1=(DateTime)reader("dateColumn"); Я бы порекомендовал использоватьTryParse который неНе выбрасывать исключения при неудачных разборках / приведении.

Синтаксис

Date.TryParse(reader("dateColumn"), date1)
 It'sNotALie.19 мая 2013 г., 18:32
Ошибка в вашем коде C #: комментарии C # начинаются с//, не с .'
 thunderbird19 мая 2013 г., 16:05
@newStackExchangeInstance Вы когда-нибудь читали мой ответ, прежде чем его отклонить? Вы вообще знаете, что такое VB и C # и как между ними практически нет различий?
 It'sNotALie.19 мая 2013 г., 18:11
А также, Java и C ++ являютсяУЖАСНЫЙ, УЖАСНЫЙ сравнение. По крайней мере, C ++ полезен.
 thunderbird19 мая 2013 г., 18:31
@newStackExchangeInstance снова, я говорю только об основном синтаксисе. Я согласен, я пропустил часть C #, потому что я искал его в разделе тегов, когда это обычно должно быть.
 code4life19 мая 2013 г., 16:48
-1: вы должны предоставить c # примеры. Если вы чувствуете, что vb.net и c # настолько похожи, то почемуВы не хотите привести пример c #?
 Yuck19 мая 2013 г., 16:18
@ Thunderbird Macintosh яблоки не являютсяЯблоки Бабули Смит, хотя они оба яблоки. Если вы хотели одного и получили другое, вы можете быть раздражены или, по крайней мере, смущены / удивлены.
 thunderbird19 мая 2013 г., 19:04
@newStackExchangeInstance дайте мне перерыв, я скопировал, вставил свой код VB и внес в него изменения.
 It'sNotALie.19 мая 2013 г., 17:21
@thunderbirdЯ просто думаю, что если ОП просит C #, он должен получить C #
 It'sNotALie.19 мая 2013 г., 19:05
Я указывал на это!
 thunderbird19 мая 2013 г., 16:21
@ Да, я дал инструкции о том, как конвертировать его в C #. Кроме того, VB и C # это как кодирование в Java и C ++. Если вы знаете один, у вас есть другой. Я все равно переведу это на c #.

Ваш ответ на вопрос