pet*_*ros 10 c# asp.net datetime date sql-server-2008
date我的SQL数据库中有一个类型的列.如何将其转换为C#DateTime然后再转回SQL date?
Mat*_*hew 11
sql DATE可以直接转换为.net DateTime,反之亦然.
为了得到它,使用SqlDataReader.GetDatetime方法
DateTime myDate = myDataReader.GetDateTime(myColumnIndex);
Run Code Online (Sandbox Code Playgroud)
设置它,只需将其分配给SqlParameter的值并使用.DateDateTime 的属性
c#从读者那里获取日期
DateTime date1;
DateTime.TryParse(reader["datecolumn"], out date1);
Run Code Online (Sandbox Code Playgroud)
要插入日期
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);
Run Code Online (Sandbox Code Playgroud)
TryParse在成功转换时返回true,否则返回false.
VB
从读者那里得到日期
Dim date1 as Date=CType(reader("dateColumn"),Date)
Run Code Online (Sandbox Code Playgroud)
要插入日期
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))
Run Code Online (Sandbox Code Playgroud)
注意:代码是用VB编写的.您可以轻松编写上述代码的c#等价物.函数名在VB和c#中保持不变.此外,CType在c#中不可用(尽管它与显式转换变量相同,例如.date1=(DateTime)reader("dateColumn");我建议使用TryParse哪个不会对不成功的解析/转换抛出任何异常.
句法
Date.TryParse(reader("dateColumn"), date1)
Run Code Online (Sandbox Code Playgroud)