当前位置: 移动技术网 > IT编程>开发语言>.net > LINQ字符串向datetime 转换时失败的处理方法

LINQ字符串向datetime 转换时失败的处理方法

2017年12月12日  | 移动技术网IT编程  | 我要评论
今天在使用linq时,由于数据库中的时间保存的是varchar()格式,查询时需要比较时间先后,于是使用了: 复制代码 代码如下:from j in system.jhz

今天在使用linq时,由于数据库中的时间保存的是varchar()格式,查询时需要比较时间先后,于是使用了:

复制代码 代码如下:

from j in system.jhzd
where j.dwbm.tostring().trim() == branchcode.tostring().trim()
&& convert.todatetime(j.yearmonth.tostring().trim()).compareto(convert.todatetime(timefrom)) >= 0
&& convert.todatetime(j.yearmonth.tostring().trim()).compareto(convert.todatetime(timeto)) <= 0
join b in system.t_sys_branch
on j.dwbm.tostring().trim() equals b.branchcode
join c in system.t_cwlb
on j.xmlb.tostring().trim() equals c.id
select new
{
branchname = b.branchname,
category = c.cwmc,
money = j.je,
comefrom = j.zjly,
time = j.yearmonth,
zhaiyao = j.zhaiyao,
}

可是,使用时却发现数据库报 "从字符串向 datetime 转换时失败"。

 

试了很多方法,仍没有用,最终发现,数据库中yearmonth这个字段的字符串保存的是"2013年01月04日",

当把它改成"2013-01-04"时,发现查询正常,有效。

如您对本文有疑问或者有任何想说的,请点击进行留言回复,万千网友为您解惑!

相关文章:

验证码:
移动技术网