web-dev-qa-db-ja.com

SQLの日付をDateTimeに変換する方法は?

SQLデータベースにdateタイプの列があります。どうすればC#DateTimeに変換し、SQL dateに戻すことができますか?

10
petros

SQL DATEは.net DateTimeに直接キャストでき、その逆も可能です。

それを取得するには、 SqlDataReader.GetDatetimeメソッド を使用します

DateTime myDate = myDataReader.GetDateTime(myColumnIndex);

これを設定するには、単純に SqlParameter の値に割り当て、.Date DateTimeのプロパティ

11
Matthew

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)
_
9
thunderbird
 string mydate= Convert.ToDateTime(reader["dateColumn"]).ToShortDateString().ToString());

これらのコードは私のために働いています。これらを試してください

3
Ravinther M