Позвольте пользователю выбрать критерии поиска базы данных в C#

Верхняя часть этой программы содержит три столбца элементов управления. В левом столбце содержатся комбинированные поля, содержащие имена полей в таблице базы данных. Средний столбец содержит операторы, такие как =, & lt ;, & gt; =. В правой колонке находятся текстовые поля. Пользователь может использовать эти элементы управления, чтобы определить, как программа запрашивает базу данных. Например, если пользователь выбирает поле Title из первого поля со списком, оператор & gt; = из второго и вводит R в первом текстовом поле, программа ищет записи, в которых поле Title имеет значение & gt; = R.

При загрузке формы выполняется следующий код. Обработчик события Form1_Load вызывает метод PrepareForm, который получает форму, готовую к работе.

Метод PrepareForm создает объект подключения к базе данных. Затем он выбирает запись из таблицы базы данных-указателя, чтобы получить информацию об этой таблице. Он сохраняет имена столбцов таблицы в списке ColumnNames и сохраняет типы данных столбцов в списке DataTypes. Затем он использует список ColumnNames для инициализации левого столбца комбинированных полей, отображающих имена столбцов.

Когда пользователь делает выбор и клики Query, выполняется следующий код.

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

Когда он создает каждую часть предложения WHERE, код использует разделители для значений строк и дат. Он использует одиночную кавычку для строк, и использует даты # для даты. (Для баз данных доступа требуется # разделителей для дат. Для баз данных SQL Server требуется «разделители для дат».

После создания предложения WHERE программа создает окончательный запрос и выполняет его. Он использует адаптер данных для загрузки результатов в DataTable и устанавливает свойство DataSource элемента управления формы DataGridView, равное DataTable tt>, чтобы пользователь мог видеть результат.

Источник: http://csharphelper.com/blog/2015/08/let-the-user-pick-database-search-criteria-in-c/

1 Звезда2 Звезды3 Звезды4 Звезды5 Звезд (Пока оценок нет)

Add a Comment

Ваш e-mail не будет опубликован. Обязательные поля помечены *