您好我在asp.net中有一个应用程序,其中包含四个文本字段,包括数字,金额,日期和电话。单击按钮时,这些值必须保存到Oracle数据库中。用于保存这些值的过程。在oracle数据库数据类型中,number列是类型number,amount列是类型number,date列是datetime类型,phonenumber是类型number。我正在对所有四个文本字段使用验证,以便这些值的格式正确。在我的代码中,我将数字,日期,电话作为字符串和数量传递为double。这是最好的实践吗?如果没有,任何人都可以建议我使用4个字段(数量,金额,日期和电话号码)的数据类型吗?
答案 0 :(得分:1)
一般来说,您应该在C#中使用decimal
来表示数据库中的number
字段;在C#中使用DateTime
来表示数据库中的datetime
字段。
我不建议使用number
字段来存储仅包含数字但不是实际数字的内容(如信用卡号,电话号码,邮政编码和SSN)。字符串(varchar
)更好地代表这些值。
答案 1 :(得分:0)
将金额(假设这是货币)存储为数字(14,2)或类似的东西。不要使用double,因为有些小数不能精确表示为double。在C#中使用十进制类型,在Oracle中使用数字类型。
答案 2 :(得分:0)
如果有效,那就是“足够好”的做法。你不是在循环中做了这么多次,所以效率不是问题。您正在做的事情清晰易懂,非常适合您正在处理的数据类型。日期和电话号码格式在编辑时很棘手。您是否需要处理国际日期(世界上大部分时间都喜欢dd-mm-yy)和非美国电话号码?我喜欢你的数据类型。