`

数据库中的数据到C#代码中的数值要注意转换了

 
阅读更多
如下,从数据库的存储过程传值过去给C#,如果不再转换一次,C#接收到的值就会有问题,我原来传了一个17800.15,c#中接收到成了17800.156,怎么搞都不对。
ActualAmount数据库中定义的是decimal(18,2)

数据库中
ALTER PROCEDURE [dbo].[P_Sys_GetCFPGStageSum]
	-- Add the parameters for the stored procedure here	
	--@CompanyID nvarchar(50),
	--@ContractID nvarchar(50),
	@OrderID nvarchar(50)
	--@StageId nvarchar(50),
	--@StageAmount numeric(18,2),
	--@BFB nvarchar(50),
	--@Playtime DATETIME,
 --   @StageDes nvarchar(150),
	----@GotAmount numeric(18,2),--已收
	--@CurrentAmount numeric(18,2),--当前收款	
	--@CreatedByUserID nvarchar(50),
	--@WBSID nvarchar(50)
AS
BEGIN
	-- SET NOCOUNT ON added to prevent extra result sets from
	-- interfering with SELECT statements.
	select ISNULL(SUM(ActualAmount),0) from [T_SaleConfirmStage]
	where OrderID =@OrderID and IsDeleted=0	
		END



	
END
 

代码中
    public float GetCFPGStageSum(string DDH)
        {
            float iResult = 0;
            using (IDataContext ctx = DataContext.Instance())
            {
                iResult = ctx.ExecuteScalar<float>(System.Data.CommandType.StoredProcedure,
                    "[P_Sys_GetCFPGStageSum]", DDH);
            }
            return iResult;
        }


后来改成解决

ALTER PROCEDURE [dbo].[P_Sys_GetCFPGStageSum]
	-- Add the parameters for the stored procedure here	
	--@CompanyID nvarchar(50),
	--@ContractID nvarchar(50),
	@OrderID nvarchar(50)
	--@StageId nvarchar(50),
	--@StageAmount numeric(18,2),
	--@BFB nvarchar(50),
	--@Playtime DATETIME,
 --   @StageDes nvarchar(150),
	----@GotAmount numeric(18,2),--已收
	--@CurrentAmount numeric(18,2),--当前收款	
	--@CreatedByUserID nvarchar(50),
	--@WBSID nvarchar(50)
AS
BEGIN
	-- SET NOCOUNT ON added to prevent extra result sets from
	-- interfering with SELECT statements.
	--rzp20150126------------------------------------------------------------------------
	--select ISNULL(SUM(ActualAmount),0) from [T_SaleConfirmStage]
	--where OrderID =@OrderID and IsDeleted=0
	
	select CONVERT(DECIMAL(18,2), ISNULL(SUM(ActualAmount),0)) from [T_SaleConfirmStage]
	where OrderID =@OrderID and IsDeleted=0
	-------------------------------------------------------------------------------------
 
分享到:
评论

相关推荐

    数据库与C#数据类型对比

    这个“数据库与C#数据类型对比”的小工具可能提供了各种实例,帮助开发者直观地看到不同数据类型的转换效果,从而更好地理解和应用到实际项目中。通过学习和使用这样的工具,可以加深对数据类型的理解,提升编程技能...

    opc 客户端c#编写(数据同时存入mysql数据库)

    3. **处理数据**:当接收到新的OPC数据时,需要对其进行适当的处理,例如,将数值类型转换为适合数据库存储的格式,或者根据业务需求进行计算和过滤。 4. **连接MySQL数据库**:使用ADO.NET的`MySql.Data....

    随机生成数据的C#代码

    本项目名为"随机生成数据的C#代码",其核心目标是创建一个能够根据用户设定的参数,如数值范围、数量以及输出格式,生成随机数据并保存到不同的文档类型中,例如Excel表格。 首先,我们来看如何在C#中生成随机数。...

    SQL数据类型与C#数据类型转换

    在开发过程中,我们经常会遇到需要将数据库中的数据类型映射到编程语言中的情况。特别是在使用SQL Server作为后端数据库与C#进行交互时,了解这两种环境下的数据类型及其对应关系尤为重要。本文旨在详细介绍SQL ...

    c#实现K均值聚类算法,(使用mysql数据库)

    在本文中,我们将深入探讨如何使用C#编程语言实现K均值聚类算法,并结合MySQL数据库进行数据存储和检索。K均值聚类是一种广泛应用的数据挖掘技术,常用于无监督学习,将数据集划分成若干个类别或簇,使得同一簇内的...

    C#代码模式(数据库操作部分)

    从给定的文件信息来看,主要涉及的是C#编程语言在进行数据库操作时的一些关键知识点,特别是针对SQL Server的查询语句与数据处理方法。以下是对这些知识点的详细解析: ### 1. SQL函数与数学运算 #### `PI()` 函数...

    C#串口上位机界面。SQL存储串口数据,没有作图操作,但是有数据显示

    例如,当串口接收到数据时,会触发一个事件,程序可以通过事件处理器来处理接收到的数据。 8. **资源管理和错误处理**:在串口通信中,正确打开和关闭串口至关重要,以防止资源泄露。同时,应处理可能出现的错误,...

    C#将布尔类型转换成字节数组的方法

    在C#编程中,有时我们需要将不同类型的数据进行转换,以便于数据存储、网络传输或与其他系统交互。在本文中,我们将深入探讨如何...在进行转换时,一定要注意字节顺序问题,确保在不同的系统间正确无误地进行数据交换。

    SQL SERVER数据类型与C#数据类型对照表(非C#代码)

    在编程世界中,数据类型的对应关系是至关重要的,特别是在数据库管理系统如SQL Server与编程语言如C#之间进行交互时。了解这些对应关系可以帮助开发者更好地理解数据如何在存储和处理过程中转换,确保数据的一致性和...

    数据挖掘算法源程序C#

    在C#中,可以利用各种库和工具来完成这些任务,例如,`System.Data.SqlClient`库用于数据库连接和数据获取,`LINQ`(Language Integrated Query)用于数据查询和过滤,以及`Math.NET Numerics`库进行数值计算。...

    图片二进制存入数据&从数据库中读取图片显示

    根据给定文件中的标题、描述、标签以及部分...以上就是从标题、描述、标签以及部分内容中提取出的关键知识点,涵盖了图片转换为二进制数据、存储到数据库、从数据库读取以及在ASP.NET中动态加载的基本概念和技术细节。

    C#数据库操作的方法总结

    根据提供的标题、描述以及部分代码内容,我们可以总结出与C#中的数据库操作相关的知识点,主要集中在SQL查询语句和T-SQL函数的应用上。这里将详细介绍这些知识点,并给出实际应用场景和示例。 ### C#数据库操作的...

    图片BASE64加密保存到数据库Blob类型中(放入数据库,并取出生成图片)

    本示例主要涉及的是如何将图片通过BASE64编码加密后存入数据库的Blob类型字段,并能从数据库中取出这些数据再还原成原始图片。以下是相关知识点的详细说明: 1. **BASE64编码**:BASE64是一种用于将二进制数据转换...

    人工智能-项目实践-C#-基于C#的16进制编码与中文转换.zip

    在IT领域,16进制编码与中文转换是常见的数据处理技术,特别是在编程语言如C#中。这个项目实践以“人工智能-项目实践-C#-基于C#的16进制编码与中文转换.zip”为主题,旨在深入探讨如何在C#环境中实现这两种转换方法...

    基于数据库的C#2008的柱状图表分析图

    6. **数据可视化**:通过柱状图,我们可以将数据库中的数值数据转换为图形表示,每个柱子代表一个类别或分组,并根据其高度表示相应的值。这种可视化方式便于用户快速识别趋势、比较不同类别的数据和发现模式。 7. ...

    c#中高效的excel导入oracle的方法

    在C#中高效地将Excel数据导入Oracle数据库通常涉及到几个关键步骤,包括使用COM组件读取Excel、转换数据格式、创建表结构以及利用Oracle的SQL*Loader工具。以下是对这个方法的详细说明: 首先,我们需要引入必要的...

    c#一段关于趋势图代码

    这部分代码没有给出具体的实现细节,但从函数名可以推断它可能从数据库或其他数据源中提取了某些数据。 ### 二、创建绘图对象及背景设置 接下来创建了一个`Bitmap`对象`objBitmap`,大小为1000x500像素,用于存放...

    c# 读取wincc

    读取到的变量数据通常以原始格式存在,可能需要根据具体的数据类型进行转换,例如从`byte[]`转换为`double`或`string`。 7. **释放资源**: 当不再需要OPC连接时,应关闭OPC会话并释放相关资源,防止内存泄漏。 ...

    从.rdlc中的数据库中显示图像

    3. 在代码-behind中动态设置Image控件的`Value`属性,将数据库中的图像数据转换为Base64字符串。 4. 更新报表并触发数据刷新。 通过这种方式,即使不直接通过数据库连接,也可以在.RDLC报表中成功展示从数据库中...

    税局财务流水数据导出C#_Demo

    在本项目"税局财务流水数据导出C#_Demo"中,主要涉及的是使用C#编程语言开发的一款工具,其功能是连接到数据库并按照特定的税局格式导出财务流水数据。对于C#开发者,尤其是初学者,这是一个非常实用的学习资源。...

Global site tag (gtag.js) - Google Analytics