在实际编程中发现一个问题。从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)能够将字符串处理为日期。这样就能顺利执行了。