2015-08-20 2 views
-1

У меня есть приложение .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

+1

Почему приложение создает два счета-фактуры с одинаковым номером? Почему он создает номер вообще до того, как счет был сохранен? – David

+0

Было бы полезно, если бы вы разместили свой код. Более конкретно, какой метод создает запись на db. –

+0

, когда вы открываете форму фактуры, приложение будет запрашивать последний сохраненный номер счета, он найдет 123, чтобы он вывел его на экран, поэтому, если другой пользователь откроет ту же форму с другого компьютера, процесс проверки будет таким же, но пользователь будет 1 все еще работают над первым счетом, поэтому оба получат одинаковый номер. –

ответ

Смежные вопросы