当前位置:编程学习 > C#/ASP.NET >>

不明异常

我在C#代码中使用到LINQ技术 但时常莫明其妙的报错UnhandleException 序列不包含任何元素/指定的转换无效/无法将类型为“System.Int32”的对象强制转换为类型“System.String”。
重新启动SQL数据库后又好了,会不会跟数据访问层写法不对有关,网上有提到说LINQ中SqlServerDataCommand数据访问层不能用静态的方法不懂是不是有这回事 --------------------编程问答-------------------- 无法将类型为“System.Int32”的对象强制转换为类型“System.String”。
这些异常和你传入的数据类型也有关系 --------------------编程问答-------------------- 两/三?种问题:
1 序列不包含任何元素,没有满足条件的数据,未检查查询结果就使用了
2 指定的转换无效,满足条件的数据某些字段中存在类型不匹配的内容,如Allow Null的字段缺少对NULL的对应处理。
3 无法将类型为“System.Int32”的对象强制转换为类型“System.String” 调用ToString方法就可以了 --------------------编程问答-------------------- 序列不包含任何元素/指定的转换无效

看看你有没有调用 First() Last() Single() 这样的方法,如果有,当没有匹配到数据会出现这个异常。

你可以用 FirstOrDefault() LastOrDefault() SingleOrDefault() 代替,并且判断是否返回了数据。 --------------------编程问答-------------------- 不是了,应该跟数据没有关系的,如果有关系那为什么重启下数据库就好了,同样的程序同样的操作结果却不同
补充:.NET技术 ,  LINQ
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,