|
Программирование >> Руководство по созданию web приложений
Глобальные определения Для того чтобы использовать шаблоны предназначенные для работы с объектами OLE DB, мы включили в исходный текст нашего приложения файл Так как наша программа выводит результаты на консоль и при этом пользуется манипуляторами ввода/вывода, мы включили файлы и flincludi ttinclucV Кроме того, для применения .VIL необходимо подключить пространство имен std: using std; В области глобальных определений мы расположили класса привязки переменных к набору записей tabClients: class tabClients I public: TCHAR .. , TCHAR TCHAR PETIMESTAMP - - Ш illntji)) Ш Entill) 0 назначении и внутреннем усiia>aaiaa этого класса мы рассказывали ранее. Помимо этого, в области глобальных определений мы три объекта Программа ATLOLEDB Для демонстрации простоты объектного интерфейса OLE DB с библиотеки шаблонов ATE мы подготовили консольную программу AILOLliDB, Она решает ту же задачу, что и предыдущая, рассмотреиная в отображает содержимое нескольких полей таблицы регистрации посетителей Интернет-магазина clients. Полный исходный текст программы ATEOLEDB Вы найдете в листинге 5-2. Листинг 5-2 хранится в файле ciiStottolectbtetlolecib.cpp на прилагаемом к книге компакт-диске. CDataSource - > omd; Объект dsDSN используется соединения с источником данных, объект sSession нужен для образования сеанса, а объект cmd - для выдачи команды и обработки результата се выполнения. Функция main Наша программа настолько проста, что все свои действия она . в рам- ках единственной функции lain, В начале своей работы программа выполняет СОМ, вызы- вая для этого функцию CoInitialize(NULL); Заметим, что освобождение поэтому при использовании ATL CoUninitialize вызывать не надо (и нельзя). После инициализации пата программа открывает источник данных и сеанс: = . . . ), Bookstore , dbo , ): return 1; return 1; Б случае возникновения сииаисн; программа завершает свою работу с кодом возврата I. Далее программа команду: ТСН.-.Р = LELBT iliitira Password, RegisterDate, Email FROM elicit hr = eBd.tipea{aSeaslaa, avSCll); dsDSN.CIoseO; return 1; В качестве команды мы используем строку SQL, - запрос к таб- лице clients. . . набора, образованного в результате . этой обра- батываются в цикле: Cijut . << CiiJ.iijIllentlD; cout settflO) ciid.iPassiiord; cout seiwCaOi << c.iilfi,Jiiiri]; : - - ts auLiiLRegisterDate; . ts.aeoc-ici;. cout setw(30) szBuf Здесь мы просто выводим . значения в выходной поток cout. выполняя форматирование манипуляторами ввода/вывода (установку ширины колонки и Что же касается форматирования поля даты регистрации, то здесь мы применили уже Вам трюк, связанный с структуры DBTIMESTAMP. Создав переменную ts типа DBTIMESTAMP, мы . в нее значение, полученное из поля cid. Далее мы выполняем преобразование формата, обращаясь к полям переменной ts. Перед завершением своей работы программа закрывает объект команды, сеанс и соединение с источником данных:
|
© 2006 - 2025 pmbk.ru. Генерация страницы: 0
При копировании материалов приветствуются ссылки. |