| Цитата(Bose @ 29.3.2014, 02:46) | Цитата(Fergus2014 @ 27.3.2014, 17:45 ) | begin // эта строка начинает блок s1:=AnsiUpperCase(Edit1.Text); // взять текст из Edit1, привести его к ВЕРХНЕМУ регистру и сохранить в переменной s1 s2:= s1+'яяяя'; // в переменную s2 сохранить значение из переменной s1 плюс 'яяяя' Q1.SQL.Text:= sql1; // в свойство текст свойства SQL свойства объекта (компонента?) Q1 сохранить то что было в sql1 (переменная или константа строкового типа, скорее всего содержащая sql запрос вида select .... from ... where (какое-то условие) ) Q1.SQL.Add('and UPPER(Название таблицы и столбца)>"'+s1+'"'); // к свойству SQL добавить строку 'and UPPER()..... ' + значение переменной s1 в кавычках Q1.SQL.Add('and UPPER(Название таблицы и столбца)<"'+s2+'"'); // к свойству SQL добавить строку 'and UPPER()..... ' + значение переменной s2 в кавычках Q1.Open; // вызвать метод Open объекта Q1 (скорее всего это открытие набора данных) end; // эта строка начинает блок |
По сути, этот код изменяет SQL запрос у объекта (dataset-a) Q1 так, чтобы dataset Q1 отоборажал только те записи, у которых значение (Название таблицы и столбца) было больше чем текст введённый в Edit1 И при этом меньше чем "текст в Edit1" + "яяяяя". |
Спасибо огромное!) Если я убераю 'яяяя' или оставлю просто ' ' то ничего не работает, я думал что это 'яяяя' фишка дельфи какая то. Q1 sql запрос на вывод из таблицы математиков столбца ФИО в дбгрид, чтобы видно было список из ФИО и как бы поиск по этому списку с помощью кода выше. Т.е. при запросе "Владимир" в списке остаются математики с именами "Владимир" и т.д. |