`
南山忍者
  • 浏览: 84917 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

C#程序中“指定的转换无效”的解决方案

 
阅读更多

 

“指定的转换无效”的解决方案:

 

发生该错误有以下几种情况:

 

第一:数据库字典的数据类型与程序中的不同。

 

        例如:在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#编程中,阶乘程序是一个经典的示例,它能帮助我们理解基本的控制台输入输出、数据类型转换以及循环结构。在这个程序中,我们主要关注以下知识点: 1. **控制台输入输出**:在C#中,我们通常使用`Console....

    C#程序根据年份查询生肖

    接下来,我们创建C#项目,这里提到的`ShengXiaoExample.sln`应该是一个解决方案文件,包含了项目的配置信息。`ShengXiaoExample`可能是项目的主程序文件,可能包含一个名为`Main`的入口点,用于执行查询生肖的逻辑。...

    C#编写数字大小写转换器源代码.zip

    本项目"数字大小写转换器"提供了一个完整的解决方案,实现了从输入的阿拉伯数字到中文大写文字的转换功能。 1. **C#基础**: C#是Microsoft开发的一种面向对象的编程语言,广泛应用于Windows平台、Web应用和移动应用...

    VS2005(c#)项目调试问题解决方案集锦

    以上问题及其解决方案涵盖了VS2005(C#)项目调试中常见的多个方面,希望可以帮助开发者有效应对和解决问题,提升开发效率。在实际开发过程中,遇到问题时仔细分析错误信息,结合相关文档和社区资源,通常能找到有效的...

    c# 表达式(公式)计算

    在本项目中,我们看到几个关键的文件,它们可能构成了一个小型的C#应用程序,用于解析和计算数学表达式。下面我们将深入探讨C#中的表达式计算、函数以及相关知识点。 首先,`Eval.cs` 文件很可能是实现表达式计算的...

    条码打印程序(C#版)

    【条码打印程序(C#版)】是一款使用...综上所述,【条码打印程序(C#版)】是一个利用C#实现的实用工具,结合了条形码编码原理、图形绘制、打印机控制和用户交互等多个IT领域的知识,为用户提供便捷的条码打印解决方案。

    C#窗口程序编写的简单计算器

    这个项目文件"我的计算器"可能包含了项目的源代码文件(.cs)、资源文件(如图标)以及解决方案文件(.sln)。通过阅读和理解这些文件,你能够更深入地了解C#项目结构和编译过程。实践是学习编程的最好方式,所以...

    C#错误编码详解很有用!

    **解决方案**: 明确指定类型转换或使用隐式/显式转换操作符。 #### 错误 CS0030 **描述**: 类型之间无法进行转换。 **解决方案**: 修改源类型或目标类型,使之支持转换。 #### 错误 CS0031 **描述**: 无法将一个值...

    C#写的HEIC图片转jpg程序

    在批量转换过程中,程序会遍历指定的目录,读取所有的HEIC文件,然后利用这些库将它们转换为JPEG格式,并保存到目标位置。此外,为了提高用户体验,程序可能还包含了错误处理机制,以处理无效的HEIC文件或磁盘空间...

    GDAL2.4 C#接口编译库及示例,亲测支持中文路径、中文字段名、中文记录

    "ConsoleApp1.sln"是一个Visual Studio解决方案文件,它包含了项目设置和依赖关系,用于构建和管理C#应用程序。在这个案例中,它很可能是演示如何使用GDAL C#接口的一个示例项目。开发者可以通过打开此解决方案,...

    C# 字符串公式计算

    本项目“C# 字符串公式计算”显然旨在提供一个解决方案,尽管它可能不是最优方法,但对于某些特定场景,尤其是大数据量计算时,其效率可能会比较高。 在C#中,处理字符串公式通常涉及到以下几个关键知识点: 1. **...

    VS 环境下C# 在窗体中求素数

    接着,打开解决方案资源管理器,找到并双击"Form1.cs"以打开设计视图。在窗体上添加两个控件:一个文本框(TextBox)让用户输入数字范围,一个按钮(Button)触发求素数的计算,以及一个列表框(ListBox)用于显示...

    C#多功能计算器开源,带破解数独功能

    回溯法是一种试探性的解决问题的方法,它尝试分步地构造解决方案,并在每一步选择时,从若干可能的选项中选取一个,如果发现当前选择无法导致有效解决方案,则撤销上一步的选择,继续尝试其他可能性。在数独解算器中...

    C#读Excel时如果sheet名不对报错的解决方案.pdf

    以下是使用`OleDbConnection.GetOleDbSchemaTable()`方法来获取工作表名称的解决方案: ```csharp using System.Data; using System.Data.OleDb; // ... public List<string> GetSheetNamesFromExcel(string path...

    C# Design Patterns A Tutorial

    - for循环:允许在一个语句中指定初始化、条件和更新操作。 #### 三、编写Windows C#程序 - **C#中的对象**:C#是一种面向对象的语言,几乎所有事物都是对象。 - **托管语言与垃圾回收**:C#是一种托管语言,由...

    实现人民币大小写转换功能

    这里提到的`momo.sln`可能是C#的Visual Studio解决方案文件,而`momo`可能是项目源代码文件。在C#中,可以利用字符串操作和自定义转换函数来完成上述任务。 8. **错误处理**:程序应具备良好的错误处理机制,如超出...

    C#读写西门子PLC数据.rar

    要使用S7NetPlus,你需要在项目中引用该库,可以通过NuGet包管理器或者直接下载源码添加到解决方案中。 在描述中提到的文章中,作者详细阐述了如何使用S7NetPlus进行PLC数据的读写操作。以下是一些关键步骤: 1. *...

    CSharp_Int_TextBox.rar_C#int_c# console输入int_c# textbox 判断_c# te

    在提供的压缩包文件中,`IntTextBox.sln`是解决方案文件,包含了整个项目的配置信息;`IntTextBox.suo`是Visual Studio的用户选项文件,存储了用户特定的设置;`UpgradeLog.XML`记录了项目升级的日志;`IntTextBox`...

    数独计算器(C#含源码)

    在C#中,Windows Forms是一个常用的应用程序框架,用于创建图形用户界面(GUI)。文件"WindowsFormsApplication1"很可能是指这个项目的主程序入口,其中包含了界面设计和事件处理。用户可以通过点击按钮、输入数据等...

Global site tag (gtag.js) - Google Analytics