手机版

SqlDataReader指定了无效转换的解决方案

时间:2021-09-04 来源:互联网 编辑:宝哥软件园 浏览:

SqlDataReader指定无效转换的解决方案,如下所示

//获取最新的显示顺序数据字符串str=string.format (@ '如果存在(从GIS _ fundefault layer中选择显示顺序,其中giveuncid={ 0 })从GIS _ fundefault layer中选择max(显示顺序)作为show order,其中GISFuncId={ 0 }否则选择' 0 '作为show order,gi funcid);IDataReader dataReader=helper。ExecuteReader(命令类型。文本,字符串);If (dataReader。Read())//判断当前函数Id下是否有数据{//读取赋值尝试{ show order=datareader . getint 32(0);} catch(Exception ex){ HttpResponseMessage result=new HttpResponseMessage { Content=new string Content(ex。消息)};返回结果;} }dataReader。close();//关闭GetInt32(以及GerString等其他方法。)的SqlDataReader

只需在数据库中获取对应数据类型的列即可,不具备类型转换的功能,所以不能这样使用

有两种解决方案

1.如果需要返回int类型,那么数据库中的字段就定义为int类型,所以使用GetInt32是可行的。2.如果int类型没有在数据库中定义,并且您想要返回int类型,那么首先在数据库中用相应的类型获取它。然后转换成int。分析(selectunitidread。getstring (0))。如果不需要像上面写的那样返回int type,最后转换成string,数据库中的类型是string对应的varchar,那么可以直接赋值如下,比如:rmoutbackinfo。unitid=selectunity default。getstring (0 ),而不是将其转换为字符串。

//解析显示顺序=int . parse(data reader . getstring(0));以上就是本文的全部内容。希望对大家的学习有帮助,支持我们。

版权声明:SqlDataReader指定了无效转换的解决方案是由宝哥软件园云端程序自动收集整理而来。如果本文侵犯了你的权益,请联系本站底部QQ或者邮箱删除。