Danish Kareem Ответов: 1

Лучшая практика для создания счетов в C# и SQL


Здравствуйте,ребята,я работаю с WinForms и базой данных, формы-это продажа товаров.Я хочу хранить каждую продажу с уникальным номером(Bill_no).Моя идея о номере счета заключается в том, что "ddmmyyy0000" 0000 будет сбрасываться каждый день.Пожалуйста, помогите мне, как я могу это сделать? я также хочу показать номер счета во время транзакции в текстовом поле?
если у вас есть предложение по поводу Билла, то добро пожаловать.

Что я уже пробовал:

До сих пор я получаю инкрементные значения из базы данных и манипулирую ее формой продажи для следующего значения.Но этот метод очень неэффективен и неорганизован.

1 Ответов

Рейтинг:
9

OriginalGriff

Почему? Просто используйте поле идентификации (которое будет автоматически добавляться) и столбец DATE или DATETIME2 для хранения даты - это намного более гибко, намного проще в обслуживании и лучше подходит для юридических и бухгалтерских процедур, ни одна из которых не считает хорошей идеей иметь "сломанные последовательности", потому что можно добавлять или удалять товары / счета-фактуры на более позднюю дату.

Если вам действительно нужна дата и ежедневный порядковый номер, то:
1) Не делайте этого ddmmyy: сделайте это yyMMdd (или лучше yyyyMMdd), так как они сортируются лучше.
2) Используйте вычисляемый столбец, чтобы сгенерировать его из двух других столбцов (вы можете легко получить элементы "того дня" с помощью предложения WHERE и порядковый номер с помощью функции ROW_NUMBER для даты. Затем присоедините его обратно к исходному столу.


Danish Kareem

Я использую идентификационное поле в качестве номера счета верно now.is это хороший способ отслеживать счета-фактуры, но я хотел отдыхать каждый день.