У меня есть приложение .NET написана на C#, а также я использую базу данных MySQL,счетов-фактур Номера В сетевом приложении
приложение устанавливается на нескольких устройствах все эти устройства, подключенные к серверу баз данных MySQL, здесь то, с чем я столкнулся:
Двое пользователей открыли приложение на экране, у них есть номер счета-фактуры, такой как 123. Одновременно они сохраняют свой порядок, приложение проверяет, сохранено ли ранее число, если да, 123 будет увеличиваться на 1 другое что приложение будет поддерживать одинаковый номер,
проблема заключается в том, что, когда пользователи одновременно нажимают кнопку «Сохранить», оба счета-фактуры будут иметь 123 одновременно с разными данными. Как я могу решить эту проблему раз и навсегда. ? Спасибо за вашу помощь.
код, который проверяет последовательность счета:
if (accounts_transactionsTableAdapter.getLastTransNumber(4) != null)
{
textBox1.Text = ((long)(accounts_transactionsTableAdapter.getLastTransNumber(4) + 1)).ToString();
}
else
{
textBox1.Text = "1";
}
4 является типом транзакции, которые представляют собой продажу счет-фактуру, getLastTransNumber() представляет собой хранимую процедуру, которая проверяет последний номер счета типа (4), который является sales
Почему приложение создает два счета-фактуры с одинаковым номером? Почему он создает номер вообще до того, как счет был сохранен? – David
Было бы полезно, если бы вы разместили свой код. Более конкретно, какой метод создает запись на db. –
, когда вы открываете форму фактуры, приложение будет запрашивать последний сохраненный номер счета, он найдет 123, чтобы он вывел его на экран, поэтому, если другой пользователь откроет ту же форму с другого компьютера, процесс проверки будет таким же, но пользователь будет 1 все еще работают над первым счетом, поэтому оба получат одинаковый номер. –