c# - 将数据添加到数据库时出现异常 - 将 int 转换为数据类型 numeric 的溢出错误
问题描述
当我将某些数据集添加到表中时,它们会出现异常。数据来自 WEB API,以下数据列也不例外。
"RRP": 2.98074513,
"Cost": 2.533633360
但是当它尝试添加以下数据集时,它会显示 SQL 异常
"RRP": 2.92,
"Cost": 2.4820
和这个 -
"RRP": 4.90,
"Cost": 4.1650
例外是“Core .Net SqlClient 数据提供程序,将 int 转换为数字数据类型的 MessageArithmetic 溢出错误”
SQL 表结构 -
CREATE TABLE [dbo].[DailyConsumptionLogs](
[UsageLineId] [int] IDENTITY(1,1) NOT NULL,
[ResourceId] [varchar](500) NOT NULL,
[RRP] [numeric](15, 13) NOT NULL,
[Cost] [numeric](15, 13) NULL
) ON [PRIMARY]
在 C# 中执行的插入语句 -
string sql_command = String.Format(@"INSERT INTO DailyConsumptionLogs(
ResourceId,
RRP,
Cost)
VALUES ('{0}','{1}','{2}')",
item.ResourceId,
item.RRP,
item.Cost);
解决方案
- 你能在赋值行执行后分享 sql_command 的值吗?既正确又不正确。
- item.RRP、item.Cost 是如何定义的?
直接插入数据库有什么异常吗?
插入 DailyConsumptionLogs(ResourceId, RRP, Cost) 值 (1,4.90,4.1650) 插入 DailyConsumptionLogs(ResourceId, RRP, Cost) VALUES (1,'2.92', '2.4820')
推荐阅读
- common-crawl - 如何从 CommonCrawl 检索页面的 HTML?
- javascript - 如何使用 Firebase react native 获取当前时间戳?
- java - 按子句JPQL按顺序使用强制转换
- sql - 使用带有多个 ON 的连接子句组合来自多个表的值
- java - Java HashMap 在同一行执行 put() 和 get()
- javascript - 在多级 JSON 中创建一个深度为几个级别的值列表
- python - Comma Sprinkler 问题是否有 python 解决方案?
- python - 如何在 VSC for Python 上加载图像
- ruby-on-rails - Rails:如何为多种环境嵌入 Google Tag Manager?
- r - R-markdown 数据表与设置为 results='hold' 的多个块选项不兼容