1. 程式人生 > 其它 >從資料庫中讀入後臺程式碼時,時間型別的轉換問題

從資料庫中讀入後臺程式碼時,時間型別的轉換問題

技術標籤:WPFwpf

問題:在從資料庫中往外讀取資料,然後向後臺顯示時,Date型別的資料在顯示時,會出現如下問題:
在這裡插入圖片描述
但在資料庫中的顯示是:
在這裡插入圖片描述
根據網上的說法,這可能是因為C#本身沒有Date資料型別,只有DateTime資料型別,【注:DateTime資料型別相當於是Date的“父類”,因為DateTime可以顯示到秒,而Date只能顯示到天】,所以當我想將Date型別的時間賦值給記憶體中的表時(即:DataTable型別的變數),他會將值的型別從Object預設轉化為DateTime。

對於解決方法:你可以在後臺往記憶體中讀取資料時,將Date資料型別強制轉化為字串型別,這樣在顯示的時候就不會出現以上的問題了。但要注意的是,在寫select語句時,Convert()這個聚合函式需要命名才可以進行繫結。將我寫的主要程式碼貼下來。

		private void MenuItem_Click_6(object sender, RoutedEventArgs e)
        {//查詢
            database db = new database();
            SqlConnection con = db.loginmethod();
            string strSql = "select supplier_no,cno,purchase_num,CONVERT(NVARCHAR(20),purchase_date,111) purchase_date from 採購"
; SqlDataAdapter da = new SqlDataAdapter(); da.SelectCommand = new SqlCommand(strSql, con); DataSet ds = new DataSet(); DataTable dt = new DataTable(); da.Fill(dt); if (dt != null && dt.Rows.Count > 0) { this
.listView_come.ItemsSource = dt.DefaultView; } con.Close();//關閉資料庫 }

對於Convert()函式的使用,可以自行百度,在這裡不做過多說明。