Создание приложения ODBC

Реферат - Компьютеры, программирование

Другие рефераты по предмету Компьютеры, программирование

String CPrimSet::GetDefaultConnect()

{

// Параметры источника данных

// CONNECT1- название источника данных

return _T("ODBC;DSN=CONNECT1");

}

 

CString CPrimSet::GetDefaultSQL()

{// Параметры таблицы

return _T("[dbo].[jobs]");

}

 

class CPrimSet : public CRecordset

 

{

public:

 

CPrimSet(CDatabase* pDatabase = NULL);

DECLARE_DYNAMIC(CPrimSet)

 

// // Переменные для отображения данных строки таблицы

//{{AFX_FIELD(CPrimSet, CRecordset)

 

intm_job_id;

CStringm_job_desc;

BYTEm_min_lvl;

BYTEm_max_lvl;

//}}AFX_FIELD

...

 

};

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

Раскройте спроектированное ранее диалоговое окно IDD_DB_FORM и при нажатой клавише m_job_id.

 

 

Рис. 9. Диалоговое окно Add Member Variable

 

Примечание:

Здесь m_pSet указатель на объект класса, производного от CRecordset, содержащий текущую запись. Переменная m_job_id в этом объекте содержит текущее значение поля job_id из таблицы jobs. Если вы посмотрите содержимое комбинированного списка Member variable name, то увидите указатель для всех полей запроса, который для нас сконструировала библиотека MFC, и поэтому можно повторить рассмотренную процедуру сопоставления элементов управления формы с переменными для каждой из них.

После того как все элементы управления сопоставлены переменным, обязательно убедитесь, что все сделано корректно. Используйте для этого команду View/Class Wizard... (или одноименную кнопку на панели инструментов), чтобы отобразить диалоговое окно MFC ClassWizard, в котором выберите вкладку Member Variables (Компонентные переменные). В раскрывающемся списке Class name необходимо выбрать класс CPrimView. Список компонентных переменных должен выглядеть так, как показано на рис. 10.

 

 

Рис. 10. Компонентные переменные класса CPrimView

 

Теперь скомпилируйте и выполните приложение. Сразу после запуска вы увидите окно, показанное на рис. 11. Попробуйте перемешаться по записям базы данных, воспользовавшись соответствующими кнопками на панели инструментов или командами меню. И хотя мы пока не написали ни строчки кода, приложение работает прекрасно можно переходить от записи к записи и даже изменять значения полей.

 

 

Рис. 11

 

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

 

  1. Добавление и удаление записей в таблице.

 

Добавление записей в таблицу.

 

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

 

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

 

1. Раскройте вкладку Resource View (ресурсы) окна проектов. Щелкните по значку +, расположенному рядом с папкой Toolbar, а затем по IDR_MAINFRAME. Появится панель инструментов.

 

2. Выделите пустую кнопку, расположенную справа, и нарисуйте какой-либо символ New Record (Новая запись), например, такой, как показан на рис. 12. Переместите кнопку на место, расположенное сразу после четырех кнопок перемещения по базе данных.

 

 

Рис. 12. Новая кнопка на панели инструментов для добавления новой записи

3. Дважды щелкните по вновь созданной кнопке на разрабатываемой панели инструментов. Раскроется диалоговое окно Toolbar Button Properties , (Свойства кнопки панели инструментов). Введите в качестве идентификатора в список ID (Идентификатор) ID_RECORD_APPEND.

4. В поле Prompt (Подсказка) наберите текст Append a new record to the table.\nNew Record (Добавление новой записи в таблицу\nНовая запись), как показано на рис. 13.

 

5. Нажмите кнопку закрытия в правом верхнем углу диалогового окна Toolbar Button Properties, и Visual C++ автоматически присвоит новой кнопке идентификатор ID_RECORD_APPEND.

 

 

Рис. 13.

 

Теперь необходимо сопоставить созданной кнопке некоторые действия. Откройте окно Class Wizard, выполнив команду View/ClassWizard, выберите вкладку Message Maps (карта сообщений) и в списке Object IDs выделите элемент ID_RECORD_APPEND, а в

раскрывающемся списке Class name выберите CPrimView класс, который служит для просмотра базы данных. Именно для него потребуется добавить некоторый код. Далее в списке Message выделите элемент COMMAND и нажмите кнопку Add Function, в результате чего на экране появится диалоговое окно Add Member Function, в котором, уже предложено некоторое имя (рис. 14), базирующееся на идентификаторе кнопки (присваивайте всем идентификаторам содержательные имена).

 

 

Рис. 14. Если идентификатору присвоено содержательное имя, то можно просто нажать кнопку ОК

 

 

Нажмите кнопку ОК, и диалоговое окно MFC ClassWizard примет вид, показанный на рис. 15. В этом окне нажмите кнопку Edit Code (Редактировать код),