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


今天在使用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"时,发现查询正常,有效。



相关阅读:
Java IO流 文件传输基础
PHP采用XML-RPC构造Web Service实例教程
在CentOS服务器上安装配置LEMP的详细教程
轻松学习C#的基础入门
Yii2中关联查询简单用法示例
遍历DOM对象内的元素属性示例代码
将Access数据库中数据导入到SQL Server中的详细方法实例
Android SlidingDrawer 抽屉效果的实现
php中JSON的使用方法
HTML5全屏(Fullscreen)API详细介绍
Javascript中匿名函数的多种调用方式总结
详解Java中用于查找对象哈希码值的hashCode()函数
Gridview使用CheckBox全选与单选采用js实现同时高亮显示选择行
PHP获取当前文件的父目录方法汇总
快速导航

Copyright © 2016 phpStudy |