Поиск данных через указанное c поле в C# из базы данных MS Access с использованием Visual Studio - PullRequest
0 голосов
/ 10 апреля 2020

Я работаю над проектом, и мне нужно выполнить задачу в этом проекте, чтобы мне нужно было распечатать / найти данные из файла базы данных MS Access 2016 через указанный c текст или ключевое слово, я попробую все, но могу не решил мою проблему, поэтому, попробовав все, я решил опубликовать свою проблему здесь, чтобы получить помощь в ее решении. Я приложил свой код, вы можете видеть это, но этот код ничего не выполняет, и я получил ошибку при попытке найти что-либо, ошибка:

Первое исключение типа «System.FormatException» произошла в mscorlib.dll Дополнительная информация: Входная строка была в неправильном формате. Если для этого исключения есть обработчик, программа может быть безопасно продолжена.

Это ошибка, с которой я сталкиваюсь при выполнении задачи.

namespace Vechile_Registration_System
{
public partial class Verification : Form
{
    public Verification()
    {
        InitializeComponent();
    }

    private void Verification_Load(object sender, EventArgs e)
    {

    }

    private void btnsearch_Click(object sender, EventArgs e)
    {
        searchDataBase();
    }
    private void searchDataBase()
    {
        string strsearch = txtsearch.Text.Trim().ToString();

        StringBuilder sb = new StringBuilder();
        vehicleBindingSource.Filter = string.Format("[Registration No] LIKE '%{0}%'", strsearch);

        string strFilter = sb.ToString();
        vehicleBindingSource.Filter = strFilter;

        if (vehicleBindingSource.Count != 0)
        {
            dataGridView1.DataSource = vehicleBindingSource;
        }
        else
        {
            MessageBox.Show("No Records Found. \n The Vehcile may not register or you have enter wrong Registration Number.");
        }
    }

    private void button1_Click(object sender, EventArgs e)
    {
        this.Hide();
        Form1 MMenu = new Form1();
        MMenu.ShowDialog();
    }
}

}

1 Ответ

0 голосов
/ 11 апреля 2020

ПОЖАЛУЙСТА, ПРОЧИТАЙТЕ ВНИМАТЕЛЬНО:

  1. Вы удалили очень важную строку, и из-за этого данные не загружаются в ваш источник данных.

Мы находимся сделать первое изменение в файле Verification.cs. Измените Verification_Load точно так:

    private void Verification_Load(object sender, EventArgs e)
    {
        vehicleTableAdapter.Fill(vehicleDataSet.Vehicle);
        // If you want the grid view to show no data at the beginning
        // Uncomment the following line
        // vehicleBindingSource.Filter = "1 = 0";
    }
Вам каким-то образом удалось удалить обработчик события searchbutton_Click.

Пожалуйста, примените эти шаги в точности так, как они предлагают:

  • В обозревателе решений дважды щелкните Verification.cs. Это должно открыть форму в режиме конструктора.
  • В форме щелкните правой кнопкой мыши кнопку ПОИСК и выберите в меню Свойства.
  • В окне "Свойства" вверху есть несколько значков. Найдите значок «События» в форме молнии (молнии). Нажмите на это.
  • Теперь, в самом верху, есть событие "Клик".
  • Будьте очень осторожны при наборе и введите btnsearch_Click

И Вот и все.

Надеюсь, это поможет.

Пожалуйста, отметьте как ответ, если это так



**** ОРИГИНАЛЬНЫЙ ОТВЕТ ****

Это должно решить вашу проблему.

Пожалуйста, используйте именно этот код.

private void searchDataBase()
{
    string strsearch = txtsearch.Text.Trim().ToString();

    StringBuilder sb = new StringBuilder();
    vehicleBindingSource.Filter = string.Format("[Registration No] LIKE '%{0}%'", strsearch);

    if (vehicleBindingSource.Count != 0)
    {
        dataGridView1.DataSource = vehicleBindingSource;
    }
    else
    {
        MessageBox.Show("No Records Found. \n The Vehcile may not register or you have enter wrong Registration Number.");
    }
}
...