Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

Серверные сценарии. ASP. Доступ к базе данных




ASP: http://www.helloworld.ru/texts/comp/web/asp/asp/index.htm

PHP: http://htmlweb.ru/php/mysql.php

Из ASP можно легко и просто работать с любыми базами данных. Это делается через две промежуточные технологии: ODBC и ADO.

ODBC позволяет организовать доступ к любым базам данных через унифицированный интерфейс с помощью языка SQL. Специфика конкретных СУБД учитывается при помощи специальных драйверов БД. Такие драйверы существуют для всевозможных СУБД (в частности SQL Server, Oracle, Access, FoxPro). Поддержка ODBC обеспечивается на уровне операционной системы Windows (NT). Настройка – через Control Panel/ODBC. Базовым понятием является источник данных или data source. Источник данных – это совокупность сведений о базе данных, включая ее драйвер, имя компьютера и файла, параметры. Чтобы пользоваться базой надо создать источник данных для нее. Важно, чтобы источник данных был "системным", в отличии от "пользовательского". После этого надо лишь знать имя источника данных. [В настоящее время ODBC отступает перед натиском технологии OLE DB. На практике это однако практически ничего не изменяет. Вместо имени источника данных нужно использовать Connection String, в которой указывается имя ODBC-драйвера и все его параметры.]

ADO – это совокупность объектов, доступных из ASP, позволяющих обращаться к источнику данных ODBC [или OLE DB]. Фактически нужны лишь 2 объекта – Connection, представляющий соединение с базой данных и Recordset, представляющий набор записей, полученный от источника. Сначала необходимо открыть соединение, потом к нему привязать Recordset, потом, пользуясь методами Recordset'а, обрабатывать данные. Вот пример:

<%Dim Conn, RS, strSQL, strOutstrOut = ""Set Conn = Server.CreateObject("ADODB.Connection")Conn.Open "Data-Source-Name"Set RS = Server.CreateObject("ADODB.Recordset")strSQL = "SELECT * FROM AGENTS ORDER BY USER_ID"RS.Open strSQL, ConnRS.MoveFirststrOut = strOut & "<P>Here is the data:"strOut = strOut & "<TABLE BORDER=""1"">"strOut = strOut & "<TR><TH>USER_ID<TH>Name</TR>"Do While Not RS.EOF strOut = strOut & "<TR>" strOut = strOut & "<TD>" & _ RS.Fields("USER_ID") & "</TD>" strOut = strOut & "<TD>" & _ RS.Fields("NAME") & "</TD>" strOut = strOut & "</TR>" RS.MoveNextLoopstrOut = strOut & "</TABLE>"strOut = strOut & "<HR>"strOut = strOut & "That's it!"RS.CloseSet RS = NothingConn.CloseSet Conn = NothingResponse.Write strOut%> <% Set cnn=Server.CreateObject('ADODB Connection') cnn.Open 'Provider+Microsoft.Jet.OLEDB.4.0;Data Source=C:\path\...' %> <% strSQL=”insert into Profiles (FirstName,LastName values(“+FirstName+”','”+lastName+”')” cnn.Execute strSQL,,atcmdText+adExecuteNoRecords %> <% set status='secret'...%>   Извлечение данных из базы <% Set cnn=Server.CreateObject('ADODB Connection') cnn.Open 'Provider+Microsoft.Jet.OLEDB.4.0;Data Source=C:\path\...' rstProfiles=Server.CreateObject('ADODB Recordset') strSQL='select * from profiles” rstProfiles.open strSQL,cnn set objFirstName=rstProfiles('findName') set obj LastName=rstProfiles('lastName') do until rstProfiles.EOF response write “<p>” + firstName+... rstProfiles moveNext loop %>  

Чтобы получить доступ к базе данных из Web, используя PHP, надо сделать следующие основные шаги: Подключение к серверу MySQL. Выбор базы данных. Выполнение запроса к базе данных (добавление; удаление; изменение; поиск; сортировка). Получение результата запроса. Отсоединение от базы данных.

Для подключения к серверу базы данных в PHP есть функция mysql_connect(). Ее аргументы: имя компьютера, имя пользователя и пароль. Эти аргументы можно опустить. По умолчанию имя компьютера = localhost, тогда имя пользователя и пароль не требуется. Если PHP используется в сочетании с сервером Apache, то можно воспользоваться функцией mysql_pconnect(). В этом случае соединение с сервером не исчезает после завершения работы программы или вызова функции mysql_close(). Функции mysql_connect() и mysql_pconnect() возвращают идентификатор подключения, если все прошло успешно.

Для выбора базы данных используется функция mysql_select_db(). Ее аргумент: имя БД. Функция возвращает true, если указанная БД существует и доступ к ней возможен. Для выполнения SQL-запросов существует функция mysql_query(). Ее аргумент: строка с запросом. Функция возвращает идентификатор запроса.

<html><head><title>Добавление записи в таблицу</title></head><body>
<?php
$db = "sample";
$link = mysql_pconnect ();
if (!$link)
die ("Невозможно подключение к MySQL");
mysql_select_db ($db) or die ("Невозможно открыть $db");
$query = "INSERT INTO books
VALUES ('966-7393-80-1', 'Аллен Вайк',
'PHP. Справочник', '213', '4')";
mysql_query ($query);
mysql_close ($link);
?>
</body></html>



Поделиться с друзьями:


Дата добавления: 2015-01-03; Просмотров: 388; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.01 сек.