2015-12-12 154 views
1

我有一個從數據庫中獲取日期時間值的應用程序,但它給我這個錯誤指定的轉換無效

指定的轉換是無效

這裏是代碼

SqlConnection con = new SqlConnection(ConfigurationManager.ConnectionStrings["Golden_RoseConnectionString"].ConnectionString); 

con.Open(); 
String sel3 = "select Booking_Date from booking where Booking_ID='" + Booking_Id + "'"; 
SqlCommand cmd3 = new SqlCommand(sel2, con); 
SqlDataReader n3 = cmd3.ExecuteReader(); 
n3.Read(); 
DateTime Booking_Date = (DateTime)n3.GetSqlDateTime(0); 
con.Close(); 

我該如何解決這個問題?

+2

難道你的結果是返回一個空值? –

+0

將'Booking_Date'列類型更改爲'datetime'或更好'datetime2'會更好。 –

回答

2

你應該使用:

var Date = Convert.ToDateTime(n3["YOUR_DATE_COLUMN"]); 
2

sql日期不是.Net DateTime對象。

GetSqlDateTime不做轉換 - see MSDN

需轉換 - see the SO question as an example

+0

這不是,但應該可以將它轉換爲'DateTime',不是嗎? (https://msdn.microsoft.com/en-us/library/exzwfa5y%28v=vs.90%29.aspx?f=255&MSPPError=-2147217396) –