当前位置: 首页 > 编程笔记 >

SqlDataReader指定转换无效的解决方法

毋宸
2023-03-14
本文向大家介绍SqlDataReader指定转换无效的解决方法,包括了SqlDataReader指定转换无效的解决方法的使用技巧和注意事项,需要的朋友参考一下

SqlDataReader指定转换无效的解决方法,具体内容如下

//获取最新显示顺序数据
      string str = string.Format(@"if exists(select ShowOrder from GIS_FuncDefaultLayer where GISFuncId = {0})
                           select max(ShowOrder) as ShowOrder from GIS_FuncDefaultLayer where GISFuncId ={0}
                           else select '0' as ShowOrder", GISFuncId); 
      IDataReader dataReader = helper.ExecuteReader(CommandType.Text, str);
      if (dataReader.Read())//判断当前功能Id下是否有数据
      {
        //读取赋值
        try
        {
          showOrder = dataReader.GetInt32(0);
          
        }
        catch (Exception ex)
        {

          HttpResponseMessage result = new HttpResponseMessage { Content = new StringContent(ex.Message) };
          return result;
        }
        
      }
dataReader.Close();//关闭

SqlDataReader 自带的GetInt32(以及其他的比如GerString等)方法

只是获取数据库中对应数据类型的列,并不具有类型转化的功能,所以不能这样使用

解决方法有两种

1.如需要返回int类型的,那么数据库中的字段就定义为int类型,则用GetInt32可行
2.若数据库中定义的不是int类型,又想要返回int类型的,那么就先用数据库中对应的类型Get出来,然后转化
如int.Parse(selectunitidread.GetString(0))
如果不需要返回int类型的,就如你上面写的到的,最后是又转化为了string
而数据库中的类型就是与string对应的varchar,那么你可以直接给下面的赋值
如:rmoutbackinfo.UnitId = selectunitidread.GetString(0)
而不用再转化为string 

//解决
showOrder=int.Parse(dataReader.GetString(0));

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持小牛知识库。

 类似资料:
  • 问题内容: 我的存储过程: 在我的C#代码中 有人可以告诉我我做错了什么吗?谢谢你。 问题答案: 我的猜测是,该值将以而不是装箱返回。取消装箱时,类型必须 完全 正确。因此,假设我是对的,但事实并非如此,您可以使用: 它会工作。不过,这很丑陋。如果真正使用单精度值, 则 使用它应该正确,而且(IMO)情况更清楚。 __ 另一方面,您的数据 实际上 可能以的形式从数据库中返回,在这种情况下,您应该(

  • 问题内容: 我在Jenkins中运行MSBuild脚本时遇到此错误 在我的Jenkins配置中的Build-> Command Line Arguments下 我以前在其他项目上都使用过此文件,没有任何问题,实际上我也使用了相同的构建文件,但是我从未见过此问题。我怀疑由于解决方案文件是唯一不同的内容,因此可能需要更改某些内容。 问题答案: 是否存在“最新”配置?默认情况下,Visual Studi

  • 本文向大家介绍js中style.display=""无效的解决方法,包括了js中style.display=""无效的解决方法的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了js中style.display=""无效的解决方法。分享给大家供大家参考。具体解决方法如下: 一、问题描述: 在js中我们有时想动态的控制一个div显示或隐藏或更多的操作,但如果我们style.display=""可

  • 本文向大家介绍android webview 中localStorage无效的解决方法,包括了android webview 中localStorage无效的解决方法的使用技巧和注意事项,需要的朋友参考一下 我在 android里面 使用html5的 localStorage 为什么存不进去也读不出来呀? 网上搜了好多都没效果 解决方案: 这个测试了是可以的

  • 问题内容: 嗨,我一直在代码中看到这个指定的转换无效,但是当我连接到备份数据库时,我没有收到指定的转换无效的错误。我不确定发生了什么。 同样,此代码可在一个数据库上完美运行,而在另一个数据库上却给我错误。 我的控制器 我的模特 堆栈跟踪 问题答案: 将备份数据库与无效数据库进行比较,尤其是将ID列进行比较。确保它们同时匹配 类型 (浮点数)和可为 空 (NULL)的能力。 引发异常表示列之一(类型

  • 本文向大家介绍thinkphp中session和cookie无效的解决方法,包括了thinkphp中session和cookie无效的解决方法的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了thinkphp中session和cookie无效的解决方法。分享给大家供大家参考。具体分析如下: 问题描述: 在本地调试时session和cookie是用没有问题的,我是用session保存当前登录账