“指定的转换无效”的解决方案:
发生该错误有以下几种情况:
第一:数据库字典的数据类型与程序中的不同。
例如:在Oracle数据库中number(10,5)对应到程序中应为double类型。
解决方案:将数据模型中相应的字段类型进行修改。
比较容易出错的是:Oracle中的number(10,5)对应到程序,应为double类型。
number(5)对应到程序中的int类型(根据自己的情况,short、int、long均可,不过在使用long时,model中也要相应修改为long)。
第二:在读取数据库数据之前没有空值判断。 即,直接从数据库中读取出某一字段,没有对其进行空值判断。
解决方案一:在程序中做空值判断。
if (!Convert.IsDBNull(reader["UNIT_CODE"]))
{
drugMedicalInfo.UNIT_CODE = reader.GetString(reader.GetOrdinal("UNIT_CODE"));
}
解决方案二:在定义数据库模型(/数据结构)时,使用可空类型。
public class XXModel
{
int ? ID {get; set;}
....
}
第三:跨线程调用导致的“指定的转换无限”问题。
对于这种情况,还未遇到过。不过这儿有一参考:
.NET 调用JS:WebBrowser.Document.InvokeScript 方法抛出“指定的转换无效”异常的原因
分享到:
相关推荐
C# 中英文转换 做程序中英文转换 事例
C# 将中文乱码转换成中文C# 将中文乱码转换成中文
C# 关闭指定的程序C# 关闭指定的程序C# 关闭指定的程序C# 关闭指定的程序C# 关闭指定的程序C# 关闭指定的程序
C#运行指定应用程序,模拟Windows的运行命令,可视化窗体操作,入门者必看实例。
C#字母大小写转换程序C#字母大小写转换程序C#字母大小写转换程序C#字母大小写转换程序
C#把指定网页转换成图片,有时候经常要把相应网站生成一张图片,
自己学习C#,编写的画图程序,开发工具是vs2010,winform窗体的程序,很简单的功能,解决了一些小的毛病,基本可以使用,参考了网上的一些资料。C#初学者看看挺好的,有一定帮助。
C#程序用于ASCII和HEX转换工具,用C#重新写的ASCII和HEX代码互相转换的小工具,有点不稳定,只要格式正确使用就没什么问题.后会给出源代码.
获取指定程序的运行路径,前段时间项目中要用到该功能,网上很多都是获取当前程序的运行路径,最后找了很久才找到类似的代码,修改了传上来共享下,帮助需要的人
C#程序设计 实验4 解决方案及项目压缩包
c#二进制转换,供参考,应用程序,c#二进制转换,供参考,应用程序,
中文字符转换为拼音首字母的C#程序,中文字符转换为拼音首字母的C#程序。中文字符转换为拼音首字母的C#程序。
VS2005(c#)项目调试问题解决方案集锦VS2005(c#)项目调试问题解决方案集锦VS2005(c#)项目调试问题解决方案集锦VS2005(c#)项目调试问题解决方案集锦
c#使用DES解密提示:指定键的大小对于此算法无效 页面提示错误信息
C#程序设计 实验5 解决方案及项目压缩包
C#程序设计 实验6 解决方案及项目压缩包
C#程序设计 实验1 解决方案及项目压缩包
C#程序设计 实验3 解决方案及项目压缩包
C#程序设计 实验2 解决方案及项目压缩包
利用c#编写的一个window窗体应用,可以实现大地坐标与空间直角坐标相互转换,转换结果利用https://blog.csdn.net/starmings/article/details/123034189的程序进行验证,结果一致。转换公式教材和csdn上都有,但是...