【发布时间】:2021-12-17 14:00:06
【问题描述】:
我在 (oracle) 数据库中有一个表,其中包含 NUMBER(12) 列。我不能在 C# 中使用int,因为它很小,所以我使用了long。但是long 对于这个表列来说太大了。在将数据发送到数据库之前,有什么方法可以限制 long 的大小?否则我会得到一个错误 ORA-21525,因为我超出了表格列的大小。发送到数据库的数据实际上是一个List<long>。
【问题讨论】:
-
向我们展示您如何在参数化良好的 sql 查询中声明参数,向我们展示表 def、调用查询的代码以及导致问题的数据示例。如果您的示例数据很长,
1234567890123,那么 C# 的工作就是不发送大于 999,999,999,999 的数字.. -
你的价值观从何而来?
-
顺便说一句,你将如何处理超过的多头?
-
如果您使用的是 EF,请将 long 包装在一个结构中并使用值转换。否则,在您的构造函数中添加一个检查。
-
无论您在 C# 中使用什么类型,为什么要尝试插入大于列中允许的精度的数字?这些数字是从哪里来的?要么您的数据不适合您的列大小,因此更改列中的精度,或者您正在插入不应该插入的数字,因此丢弃它们
标签: c# .net oracle .net-framework-4.8