加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > asp.Net > 正文

asp.net – 实际文化是否与SQL相关联到CLR float-double转换?

发布时间:2020-12-15 23:05:12 所属栏目:asp.Net 来源:网络整理
导读:我正在开发一个ASP.Net WebForms的遗留应用程序,我需要改进一个新的功能.我正在使用生成的DataSet(使用VS 2013)弥补ReportViewer和SQL Server(本地报告,rdlc)之间的差距. 一切都很好,除了一件事:浮动转换.在两个Windows 8.1 En_US系统上,-10.5(列中的一个值
我正在开发一个ASP.Net WebForms的遗留应用程序,我需要改进一个新的功能.我正在使用生成的DataSet(使用VS 2013)弥补ReportViewer和SQL Server(本地报告,rdlc)之间的差距.

一切都很好,除了一件事:浮动转换.在两个Windows 8.1 En_US系统上,-10.5(列中的一个值)在报表上看起来为-10.5,但在服务器(Win 7 SP1 Es_CO)上显示为-105,即使查询返回-10.5服务器的本地SQL实例.

我检查了生成的数据集的代码,并将数据行中的对象直接转换为双,因此我假设SQL Server已经处理了会话(通过每列的CAST指令)

有什么可以做的吗?值得一提的是所有的服务器请求(Win7机器)都来自一台Win8.1 En_US机器.

状态更新:
我已暗示(不完全确定)故障是从SQL转换为CLR类型,因为标记为String的报表列产生相同的结果.

解决方法

我想知道DataSet中的列的类型是什么,并跟踪它直到它到达报表. Web服务器与数据库位于同一机器上,还是在不同的服务器上?也许你使用WCF在两者之间传输DataSet.还要检查设计器中的报告的区域设置(查看属性)以及报告中该字段正在使用的数据类型(我刚刚在RDLC文件的XML中).

我们有一个类似的问题,当值被序列化和反序列化时,小数位值(如“10.5”)变为“105”,没有足够重视语言环境,例如,如果用德语解析“10.5”,它会解释“.”作为一个千分之一的分隔符,忽略它,给你的结果“105”,我猜在es-CO中是一样的.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读