Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/300.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
c#中的某些号码、日期和电话号码使用什么数据类型?_C#_Oracle - Fatal编程技术网

c#中的某些号码、日期和电话号码使用什么数据类型?

c#中的某些号码、日期和电话号码使用什么数据类型?,c#,oracle,C#,Oracle,您好,我在asp.net中有一个应用程序,它包含四个文本字段,分别是数字、金额、日期和电话。单击按钮时,这些值必须保存到Oracle数据库中。使用过程保存这些值。在oracle数据库中,数据类型为,number列为number类型,amount列为number类型,date列为datetime类型,phonenumber为number类型。我正在对所有四个文本字段使用验证,以便这些值的格式正确。在我的代码中,我将数字、日期、电话作为字符串传递,将金额作为双精度传递。这是最好的练习吗?如果没有人能

您好,我在asp.net中有一个应用程序,它包含四个文本字段,分别是数字、金额、日期和电话。单击按钮时,这些值必须保存到Oracle数据库中。使用过程保存这些值。在oracle数据库中,数据类型为,number列为number类型,amount列为number类型,date列为datetime类型,phonenumber为number类型。我正在对所有四个文本字段使用验证,以便这些值的格式正确。在我的代码中,我将数字、日期、电话作为字符串传递,将金额作为双精度传递。这是最好的练习吗?如果没有人能告诉我4个字段(数字、金额、日期和电话号码)必须使用的数据类型吗?

一般来说,您应该使用C#中的
十进制
来表示数据库中的
数字
字段;使用C中的
DateTime
表示数据库中的
DateTime
字段

我不建议使用
number
字段来存储仅包含数字但不是实际数字的内容(如信用卡号码、电话号码、邮政编码和SSN)。字符串(
varchar
)更好地表示这些值。

将金额(假设这是货币)存储为数字(14,2)或类似值。不要使用double,因为有些小数不能精确地表示为double。在C#中使用十进制类型,在Oracle中使用数字类型

另见:

如果有效,这就是“足够好”的做法。你不会在一个循环中做一百万次,所以效率不是问题。您所做的工作清晰易懂,非常适合处理的数据类型。日期和电话号码格式在编辑时很棘手。你必须处理国际日期(世界上很多人喜欢dd-mm-yy)和非美国电话号码吗?我喜欢你的数据类型。

我想说电话号码应该是一个字符串,以防你想以:+49 005 544 5454或其他任何带前导零的格式保存它……oracle没有datetime数据类型,日期数据类型同时保存日期和时间。@Jamiegs:OP声明“日期列的类型是datetime”所以我只是重复了他们说的话。