Сайтостроительство
ac3ae3b5

Взаимодействие через ODBC c MS Access


В этом параграфе мы рассмотрим создание гостевой книги на основе СУБД MS Access и приложения на языке Си, разработанного в среде MS Visual C++ 6.0. У вас должен быть запущен и настроен веб-сервер Apache, и работать веб-сайт с директорией /cgi-bin (см. 6 главу), также вам необходимо иметь MS Visual Studio 6.0 и библиотеку itcgi под windows, которую вы можете взять на нашем сайте http://itsoft.ru/. Библиотека itcgi представляет из себя два заголовочных файла - itcgi.h и lstring.h, которые необходимо скопировать в директорию C:\Program Files\Microsoft Visual Studio\VC98\Include и файла itcgi.lib, который необходимо положить в директорию C:\Program Files\Microsoft Visual Studio\VC98\Lib. Прежде, чем приступить к созданию базы данных и программированию, давайте создадим HTML-форму добавления сообщения в гостевую книгу, а также шаблон для вывода сообщений из гостевой книги. Для добавления сообщений в гостевую книгу мы будем использовать следующую HTML-форму.

Ваше имя:
Email:
http://
Тема сообщения:



Ниже приведен ее HTML-код:

<form method=post action="/cgi-bin/gbadd"> <input type="hidden" name="dsn" value="gb"> <table> <tr><td width=20%> Ваше имя: </td><td width=80%> <input type="text" name="name" size="60" MAXLENGTH="80" > </td></tr> <tr><td width=20%> Email: </td><td width=80%> <input type="text" name="email" size="60" MAXLENGTH="80" ><br> </td></tr> <tr><td width=20%> http:// </td><td width=80%> <input type="text" name="http" size="60" MAXLENGTH="80" ><br> </td></tr> <tr><td width=20%> Тема сообщения: </td><td width=80%> <input type="text" name="subj" size="60" MAXLENGTH="80" ><br> </td></tr> <tr><td width=100% colspan=2> <textarea name="it_text" wrap cols="66" rows="7" MAXLENGTH="1024"></textarea><br> <input type=radio checked name="smile" value="/icon1.gif"> <img src="/icon1.gif"> <input type=radio name="smile" value="/icon2.gif"> <img src="/icon2.gif"> <input type=radio name="smile" value="/icon3.gif"> <img src="/icon3.gif"> <input type=radio name="smile" value="/icon4.gif"> <img src="/icon4.gif"> <input type=radio name="smile" value="/icon5.gif"> <img src="/icon5.gif"> <input type=radio name="smile" value="/icon6.gif"> <img src="/icon6.gif"> <input type=radio name="smile" value="/icon7.gif"> <img src="/icon7.gif"> <input type=radio name="smile" value="/icon8.gif"> <img src="/icon8.gif"> <input type=radio name="smile" value="/icon9.gif"> <img src="/icon9.gif"> <input type=radio name="smile" value="/icon10.gif"> <img src="/icon10.gif"> <br> <input type=radio name="smile" value="/icon11.gif"> <img src="/icon11.gif"> <input type=radio name="smile" value="/icon12.gif"> <img src="/icon12.gif"> <input type=radio name="smile" value="/icon13.gif"> <img src="/icon13.gif"> <input type=radio name="smile" value="/icon14.gif"> <img src="/icon14.gif"> <input type=radio name="smile" value="/icon15.gif"> <img src="/icon15.gif"> <input type=radio name="smile" value="/icon16.gif"> <img src="/icon16.gif"> <input type=radio name="smile" value="/icon17.gif"> <img src="/icon17.gif"> <input type=radio name="smile" value="/icon18.gif"> <img src="/icon18.gif"> <input type=radio name="smile" value="/icon19.gif"> <img src="/icon19.gif"> <input type=radio name="smile" value="/icon20.gif"> <img src="/icon20.gif"> <br> <br><center> <input type="submit" value="Опубликовать"> </center> </td></tr></table> </form>


Создайте директорию gb на вашем веб-сайте и в ней index.html, в котором и разместите вышеприведенную HTML-форму.

Каждое сообщение будет выведено в следующем шаблоне.

%%subj%%
%%it_text%% %%it_date%%


Вот его HTML-код:

<br><br> <table align="center" width="100%" bgcolor="#000000" cellspacing="1" cellpadding="2"> <tr> <td bgcolor="#EEEEEE" width="85%"><img src="%%smile%%"> %%subj%% </td> </tr>

<tr> <td bgcolor="#FFFFFF"> <p align="justify">%%it_text%% <div align="right">%%it_date%%<br> <a href="mailto:%%email%%">%%name%%</a><br> <a href="http://%%http%%" target="_parent">http://%%http%%</a> </div> </td> </tr>

</table>

Создайте в Access базу данных с именем gb - сокращение от guestbook, а в этой базе таблицу message.



Далее идет список полей таблицы.

Название Тип
subj текстовый 64 символа
name текстовый 32 символа
email текстовый 64 символа
http текстовый 32 символа
it_text поле МЕМО
it_date Дата/время
smile текстовый 64 символа
id счетчик, длинное целое, значения последовательные, совпадения не допускаются
ip текстовый 16 символа
В панели управления(меню Пуск->Настройки->Панель управления) выберите значок "Источники данных ODBC" и щелкните на нем дважды. У вас должно появиться следующее диалоговое окно.



Перейдите на вкладку "Системный DSN".



Нажмите кнопку "Добавить".



В появившемся диалоговом окне синим маркером должна выделяться запись Microsoft Access Driver (*.mdb). Если это не так, то найдите такую запись и щелкните на ней мышкой. Затем нажмите кнопку "Готово". В появившемся диалоговом окне вам необходимо указать "Имя источника данных" и нажать кнопку "Выбрать", чтобы указать саму базу данных. Имя источника данных задайте gb - сокращение от guestbook.В результате, это окно должно выглядеть примерно следующим образом.



В этом и следущем диалоговом окне нажмите кнопку "OK". Так вы создали DSN с помощью которого наши CGI-программы далее будут соединяться и работать с базой данных.

Содержание раздела