Как использовать текстовое поле для поиска данных в представлении сетки данных - PullRequest
0 голосов
/ 07 июня 2019

Представьте, что у вас есть таблица, и вы хотите фильтровать данные любого типа.Я хочу, чтобы вся строка относилась к этому значению, например, дата, имя, описание, значение только по фильтру 1, поле таблицы

string filter = "";
string command = "SELECT * FROM Movimentos WHERE [Tipo de Movimento] = 'Crédito'";


if (textDataMovimento.Text != "")
{
    filter = filter + "[Data Movimento] LIKE '%" + textDataMovimento.Text + "%' AND";
}
if (textDataValor.Text != "")
{
    filter = filter + " [Data Valor] LIKE '%" + textDataValor.Text + "%' AND";
}
if (textDescricao.Text != "")
{
    filter = filter + " [Descrição] LIKE '%" + textDescricao.Text + "%' AND";
}
if (textValor.Text != "")
{
    filter = filter + " [Valor] LIKE '%" + textValor.Text + "%' AND";
}
if (textTipodeMovimento.Text != "")
{
    filter = filter + "[Tipo de Movimento] LIKE  '%" + textTipodeMovimento.Text + "%'AND";
}

Ответы [ 2 ]

0 голосов
/ 07 июня 2019

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

  1. Никогда не смешивайте код пользовательского интерфейса с кодом уровня данных (см. N-Tier Architectures)
  2. SQL-инъекций следует избегать, возможно, рассмотрите возможность использования ORM
  3. Привязка элементов управления к объектам должна быть предпочтительнее, чем прямые значения данных из БД (см. Раздел «Разделение задач».

Что-то, что может быть ближе к вашей намеченной цели, хотя ...

Подумайте об использовании чего-то вроде "LINQ to SQL" ... это позволяет вашему C # быть C #, а базовая структура будет обрабатывать ваши запросы к базе данных "безопасным" способом.

Что касается фактического связывания данных с сеткой, чтобы отобразить результаты, рассмотрим некоторые из этих вариантов ...

https://www.google.com/search?q=binding+a+datagrid+view+to+an+object+collection

...

Финальная нота

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

0 голосов
/ 07 июня 2019

Просто подготовьте динамический необработанный запрос sql для поиска подходящей строки по соответствующим значениям столбца.

Примечание: никогда не используйте значения параметров непосредственно в необработанном запросе, всегда используйте параметры sql для передачи значений.Это помогает избежать инъекций sql.

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