Взаимодействие через 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 символа |
текстовый 64 символа | |
http | текстовый 32 символа |
it_text | поле МЕМО |
it_date | Дата/время |
smile | текстовый 64 символа |
id | счетчик, длинное целое, значения последовательные, совпадения не допускаются |
ip | текстовый 16 символа |
Перейдите на вкладку "Системный DSN".
Нажмите кнопку "Добавить".
В появившемся диалоговом окне синим маркером должна выделяться запись Microsoft Access Driver (*.mdb). Если это не так, то найдите такую запись и щелкните на ней мышкой. Затем нажмите кнопку "Готово". В появившемся диалоговом окне вам необходимо указать "Имя источника данных" и нажать кнопку "Выбрать", чтобы указать саму базу данных. Имя источника данных задайте gb - сокращение от guestbook.В результате, это окно должно выглядеть примерно следующим образом.
В этом и следущем диалоговом окне нажмите кнопку "OK". Так вы создали DSN с помощью которого наши CGI-программы далее будут соединяться и работать с базой данных.
|