Какой тип данных использовать для некоторого номера, даты и номера телефона в C #? - PullRequest
2 голосов
/ 16 марта 2011

Привет У меня есть приложение в asp.net, которое содержит четыре текстовых поля для номера, суммы, даты и телефона.При нажатии на кнопку эти значения должны быть сохранены в Oracle Database.Используются процедуры для сохранения этих значений.В базе данных оракула типы данных: столбец числа имеет номер типа, столбец количества имеет номер типа, столбец даты имеет тип datetime, а номер телефона имеет тип номераЯ использую проверки для всех четырех текстовых полей, чтобы эти значения были в правильном формате.В моем коде я передаю номер, дату, телефон в виде строки и сумму в два раза.Это лучшая практика?Если нет, то может ли кто-нибудь предложить мне типы данных, которые я должен использовать для 4 полей (номер, сумма, дата и номер телефона)?

Ответы [ 3 ]

1 голос
/ 16 марта 2011

Вообще говоря, вы должны использовать decimal в C # для представления number полей в базе данных;используйте DateTime в C # для представления datetime полей в БД.

Я не рекомендую использовать поле number для хранения вещей, которые содержат только цифры, но не являются действительными числами (например, номера кредитных карт, номера телефонов, почтовые индексы и номера SSN).Строка (varchar) лучше представляет эти значения.

0 голосов
/ 16 марта 2011

Если это работает, это «достаточно хорошая» практика. Вы не делаете это миллион раз подряд, поэтому эффективность не является проблемой. То, что вы делаете, ясно и понятно и хорошо подходит для типов данных, с которыми вы работаете. Форматы даты и номера телефона сложны в редактировании. Приходится ли вам иметь дело с международными датами (большая часть мира любит dd-mm-yy) и номерами за пределами США? Мне нравятся ваши типы данных.

0 голосов
/ 16 марта 2011

Сохраните сумму (при условии, что это денежное выражение) как число (14,2) или что-то подобное. Не используйте двойное число, так как некоторые десятичные дроби не могут быть точно выражены как двойные. В C # используется десятичный тип, а в Oracle числовой тип.

Смотрите также: Двойник действительно не подходит для денег?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...