c# - 限制长的大小?
问题描述
我在(oracle)数据库中有一个表,其中有一列NUMBER(12)
. 我不能int
在 C# 中使用,因为它很小,所以我使用long
. 但是long
对于这个表列来说太大了。long
在将数据发送到数据库之前,有什么方法可以限制 a 的大小?否则我会得到一个错误 ORA-21525,因为我超出了表格列的大小。发送到数据库的数据实际上是一个List<long>
.
解决方案
最明显的解决方案是使用自定义数字类型来限制数字的值范围。就像是
public readonly struct Number12{
public long Value {get;}
public Number12(long num){
if(num > 999999999999 || num < -999999999999 ){
throw new ArgumentException("number out of rage " +num);
}
Value = num;
}
// Add operators, conversions etc
}
这样做的一个好处是,很明显这个数字有一些特殊的规则。但是使用起来会比较麻烦,如果以后改数据库可能会出问题。
推荐阅读
- jenkins - Jenkins 中的 Java 10 代码部署失败(构建成功)
- java - 在 Maven 中使用类路径加载 bean 时遇到问题
- c# - 通过 ac# 程序在命令提示符下使用其 IP 地址关闭另一个系统?
- javascript - 单击打印按钮页面后重定向到另一个页面javascript
- java - 即使服务器停止,Clinet 也不会停止发送消息
- javascript - 为什么 let 不比 var 慢?
- unity3d - Unity 2D 轨迹渲染器碰撞
- reactjs - React:调用 this.setState() 后不会调用组件的 render()
- android - 使用 android studio kotlin 生成 UI
- python - 无法将我的按钮放在 tkinter 中的指定一侧