Сообщение об ошибке получает сработавшее четное значение - PullRequest
0 голосов
/ 26 октября 2019

У меня глупая проблема, которую нужно решить. Позвольте мне сначала написать, что я делаю на самом деле. У меня есть сканер штрих-кода, который считывает данные штрих-кода и, в зависимости от этого, показывает соответствующие данные из базы данных. Все работает нормально, кроме как сейчас. Я должен очищать данные TextBox всякий раз, когда срабатывает триггер, и я пытался сделать следующее:

textBox1.Text = "";

Опять я делаю одну вещь здесь. Я использую изменение события TextBox, чтобы отобразить данные штрих-кода без ввода или каких-либо манипуляций с таймером, свойство period 250. NB : я использую Timer, чтобы получить полные данные из штрих-кода, или он получает только первое значение этих данных. Пример: данные штрих-кода - 1001, затем без Timer, он получает только 1.

Программа выводит сообщение, если в базе данных нет соответствующих данных. Итак, вот полный фрагмент кода:

private void TextBox1_TextChanged(object sender, EventArgs e)
{
    timer1.Stop();
    timer1.Start();
}

private void timer1_Tick(object sender, EventArgs e)
{
    timer1.Stop();

    if (GetStudentId(textBox1.Text))
    {
        frmStudentDetails aFrm = new frmStudentDetails();
        aFrm.Show();

        studentId = textBox1.Text;
        textBox1.Text = "";
    }
    else
    {
        MessageBox.Show("Oops! Id not found."); //This statement executes every time
        textBox1.Text = "";
    }
}

Проблема заключается в том, что всякий раз, когда очищается TextBox, он выдает сообщение об ошибке, даже если в базе данных есть совпадающие данные, и, если данные не найдены, то отображается ошибкасообщение дважды. Что-то, что я делаю здесь не так?

Sample Image

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