Полезное:
Как сделать разговор полезным и приятным
Как сделать объемную звезду своими руками
Как сделать то, что делать не хочется?
Как сделать погремушку
Как сделать так чтобы женщины сами знакомились с вами
Как сделать идею коммерческой
Как сделать хорошую растяжку ног?
Как сделать наш разум здоровым?
Как сделать, чтобы люди обманывали меньше
Вопрос 4. Как сделать так, чтобы вас уважали и ценили?
Как сделать лучше себе и другим людям
Как сделать свидание интересным?
Категории:
АрхитектураАстрономияБиологияГеографияГеологияИнформатикаИскусствоИсторияКулинарияКультураМаркетингМатематикаМедицинаМенеджментОхрана трудаПравоПроизводствоПсихологияРелигияСоциологияСпортТехникаФизикаФилософияХимияЭкологияЭкономикаЭлектроника
|
Рассмотрим первую часть руководства1. Для реализации поиска по наборам данных будем использовать отдельную форму. Поэтому создаем отдельную форму, выбрав в меню File -> New -> Form или нажав кнопку на панели инструментов
2. Для вызова (отображения) формы поиска и ряда других возможностей используем падающее меню на главной форме, т.е. компонент MainMenu (класс TMainMenu). Размещаем его на форме, в контекстном меню выбираем команду «Menu Designer» и в редакторе создаем расположение пунктов и подпунктов главного меню на свое усмотрение
3. Создаем для пункта меню N3 «Поиск» процедуру-обработчик события OnClick, в которую записываем программный код по отображению созданной формы Form4, предварительно подключив модуль Unit4 к модулю Unit1
4. Размещаем на новой форме необходимые компоненты Чем больше возможностей поиска будет реализовано (поиск по полям из разных таблиц; по полям, принадлежащим разным типам данных; поиск по подстроке или всей строке; поиск в наборе данных и т.д.), тем более весомой будет смотреться реализация КП!
5. На модуле данных размещаем невизуальные компоненты: § набор данных FIND (класс TADOQuery); § источник данных DSFIND (класс TDataSource).
6. Далее, выполняем: § связываем набор данных с БД через свойство Connection; § в свойство SQL заносим примерный многотабличный запрос; § временно активируем набор данных. Эти два пункта необходимы для запроса полей в визуальную таблицу; § связываем источник данных DSFIND с соответствующим набором данных FIND; § связываем визуальную таблицу на форме с источником данных, не забыв при этом предварительно прописать доступность соответствующего модуля данных; § запрашиваем поля в таблицу cxGrid1DBTableView1, нажав на кнопку Retrieve Fields; переименовываем их, удаляем или скрываем ненужные и т.д.; § деактивируем примерный набор данных, т.к. точный набор данных все равно будет формироваться динамически.
7. Для организации поиска записей создаем процедуру-обработчик события OnClick у кнопки Button1 «Начать поиск», которая сработает после нажатия на кнопку, и в нее записываем следующий программный код для создания и отправки динамического запроса к БД с целью формирования набора данных FIND. Текст данного динамического запроса на языке T-SQL строится с учетом данных, введенных на экранной форме.
Необходимо понимать, что именно делает та или иная строка, тот или иной оператор процедуры-обработчика.
8. Результат работы приведенного запроса может выглядеть следующим образом:
9. С целью реализации поиска по дате в курсовом проекте: § размещаем один (или несколько) компонентов DataTimePicker с вкладки Win32 для того, чтобы не вводить дату (даты) вручную, а воспользоваться календарем;
§ в свойство Format вводим значение, например, dd/MM/yyyy, т.е. формат даты, привычный для России (этот шаг возможно пропустить);
§ в процедуру-обработчик добавляем аналогичный следующему программный код:
В результате выполнения данного динамического запроса будут отобраны те записи, в которых значение поля Data_posadki попадает в определенный временной интервал.
При получении запроса СУБД Microsoft SQL Server воспринимает дату в международном формате и с дефисами в качестве разделителей, поэтому при реализации поиска по дате необходимо использовать переменную типа TFormatSettings. С помощью переменной fSTR мы меняем формат даты на международный формат, меняем разделитель между месяцем и числом, месяцем и годом на дефис.
Кроме того, СУБД Microsoft SQL Server воспринимает дату как строковое значение, записанное в апострофах, поэтому при формировании текста динамического запроса мы записываем символы #39 слева и справа от даты, приведенной к международному формату.
|