На этом шаге мы рассмотрим. создание диалогового окна Query.
Начиная с этого шага, мы создадим в приложении STUpload меню Query Database, которое позволит пользователю генерировать простой запрос к базе данных. Пользователь задает в диалоговом окне Query наименование ценной бумаги, начальную и конечную даты и в ответ получает данные об изменении цены на эту бумагу в период между указанными датами. Результаты запроса просматриваются в диалоги вом окне Results, в котором имеется доступный только для чтения элемент DataGrid Control, связанный с элементом ADO Data Control.
Пункт меню Query Database доступен, только если приложение STUpload находится в режиме отображения истории изменения цены на какую-то бумагу. Этот пункт нужен пользователю, чтобы проверить не находятся ли на сервере данные, которые он собирается туда загрузить. Поэтому диалоговое окно Query по умолчанию открывается с текущими наименованием бумаги и датами начала и конца периода.
Предполагается, что Вы установили SQL Server и создали базу данных Stocks, как описано здесь.
Рис.1. Диалоговое окно Query Database
Рис.2. Создание класса CQueryDialog
Идентификатор | Категория | Тип переменной | Имя переменной |
---|---|---|---|
IDC_QUERY_FUND | Value | Int | m_nFund |
IDC_QUERY_FUND | Control | CComboBox | m_dtFund |
IDC_FROMDATE | Value | CTime | m_fromdate |
IDC_FROMDATE | Control | CDateTimeCtrl | m_dtFrom |
IDC_TODATE | Value | CTime | m_todate |
IDC_TODATE | Control | CDateTimeCtrl | m_dtTo |
Рис.3. Добавленные переменные
Далее мы создадим функцию CQueryDialog::OnInitDialog(), инициализирующую диалоговое окно Query Dialog. Она помещает в поле со списком перечень ценных бумаг из текущего открытого файла и выбирает из списка текущую бумагу, а также инициализирует элемент управления Date Time Picker, подставляя из файла даты начала и конца периода.
Текст измененного приложения можно взять здесь (74,2 Кб).
На следующем шаге мы рассмотрим инициализацию окна Query Dialog.