在實際編程中發現一個問題。從DataGridView的單元中取出的值爲字符串"2016/5/5",作爲一個參數傳入了一個查詢語句中。如下
select * from XX_file where XX01=@eid and XX02=@date。其中XX02在數據庫中爲日期,格式爲2016-05-05 00:00:00.000
一開始將"2016/5/5"傳進去之後,發現報錯,string不能作爲日期傳進去。
預算我打算做如下轉換先將"2016/5/5"轉爲DataTime格式。
DateTime dt = DateTime.Parse("2016/5/5");
string date = dt.ToString("yyyy-MM-dd HH:mm:ss");
這個就得到了一個string類型的date,值爲2016-05-05 00:00:00.000
現在將字符串"2016-05-05 00:00:00.000"傳給sql語句,但是直接傳字符串肯定不行,還會報錯。
需要在sql語句中處理一下
select * from XX_file where XX01=@eid and XX02=CONVERT(VARCHAR(19), @date, 120)
CONVERT(VARCHAR(19), @date, 120)能夠將字符串處理爲日期。這樣就能順利執行了。