Member 12332478 Ответов: 1

Как добавить больше фильтров в SQL


У меня есть этот фильтр и он работает идеально но мне также нужно добавить еще несколько таких фильтров
И код вроде '" & txttrfirma.Текст &ампер; "%' заказ datumdos,група,производ,фирма"

как это сделать?

Что я уже пробовал:

sql1 = "SELECT * FROM tblpromet WHERE datumdos BETWEEN ? И что же ? "
Да1 = новый oledb для.Объект oledbdataadapter(на сервере sql1, кон)
и DA1.Команды selectcommand.Параметры.AddWithValue(" min", DateTimePicker1.Value)
и DA1.Команды selectcommand.Параметры.AddWithValue(" max", DateTimePicker2.Value)
и DA1.Заполнить(ДС, " PrometBase" )

ZurdoDev

1. не объединяйте свои управляющие значения в sql-инструкцию, потому что вы подвергаете свою БД риску взлома.
2. Что это за БД? Это Mysql?
3. Просто добавьте "И", а затем другое условие к тому, что у вас уже есть. В чем же проблема?

MarkTJohnson

Вопросительные знаки являются заполнителями для этих двух параметров.Вызовы AddWithValue. Они делаются в последовательном порядке. О, моя беда, ты не спрашивал, что это за знаки вопроса, ты задавал вопросы.

1 Ответов

Рейтинг:
1

Maciej Los

Цитата:
Мне также нужно добавить больше таких фильтров
И код вроде '" & txttrfirma.Текст &ампер; "%' заказ datumdos,група,производ,фирма"


Все что вам нужно сделать это добавить еще один параметр
sql1 = "SELECT * FROM tblpromet WHERE (datumdos BETWEEN ? AND ? ) AND (kod Like ?%);"
da1 = New OleDb.OleDbDataAdapter(sql1, con)
da1.SelectCommand.Parameters.AddWithValue(" min", DateTimePicker1.Value)
da1.SelectCommand.Parameters.AddWithValue(" max", DateTimePicker2.Value)
da1.SelectCommand.Parameters.AddWithValue(" kod", txttrfirma.Text)
da1.Fill(ds, " PrometBase" ) 


Обратите внимание, что вы не можете добавить порядок сортировки через параметры. Вам нужно определить порядок в вашей команде:
sql1 = "SELECT * FROM tblpromet WHERE (datumdos BETWEEN ? AND ? ) AND (kod Like ?%) ORDER BY  datumdos, grupa, proizvod, firma;"