Занесение и модификация данных с использованием тегов DBINSERT и DBUPDATE
При использовании тегов DBINSERT и DBUPDATE для занесения
или модификации данных, параметры должны быть переданы в шаблон
обязательно из формы, используя метод POST.
Для создания новой записи в базе данных используется тег DBINSERT,
а для модификации существующей записи используется тег DBUPDATE.
При использовании этих тегов необходимо определить атрибуты DATASOURCE
и TABLENAME. DATASOURCE это название источника данных ODBC,
содержащего редактируемую таблицу, а TABLENAME - имя этой таблицы.
Например, если источник данных ODBC
называется 'Person DB', а
таблица, в которой требуется создать запись - 'Person',
то тег DBINSERT в шаблоне
будет иметь следующий вид:
<DBINSERT DATASOURCE="Person
DB" TABLENAME="Person">
Параметры, переданные в шаблон должны совпадать с именами полей
таблицы, в которой создается (модифицируется) запись. В том случае,
если не все передаваемые параметры должны участвовать в этой процедуре,
используется атрибут FORMFIELDS,
в котором через запятую перечисляются имена полей таблицы, для
которых должны существовать одноименные параметры.
Особо следует отметить, что для того, чтобы использовать тег DBUPDATE
для модификации записи, в таблице должен быть определен
первичный ключ, а для всех полей включенных в первичный ключ из
обрабатываемой HTML-формы
обязательно должны быть переданы соответствующие параметры.
Теги DBINSERT и DBUPDATE
могут иметь также еще два необязательных атрибута:
данных которые поддерживают права собственности на таблицы (например,
SQL Server, Oracle и др.),
этот атрибут можно использовать, чтобы указать собственника таблицы.
источников данных этот атрибут может иметь разный смысл. Так,
для SQL Server и Oracle
- это имя базы данных, в которой содержится таблица, а
для Intersolv dBase - это
директория в которой расположены DBF
файлы.
Пример
Пусть определена HTML -
форма для ввода данных:
<HTML>
<HEAD>
<TITLE>Пример ввода данных
для создания записи</TITLE>
</HEAD>
<BODY>
<FORM ACTION="/cgi-shl/dbml.exe?Template=example.dbm"
METHOD="POST">
ФИО : <INPUT TYPE="Text"
NAME="FullName">
Телефон : <INPUT TYPE="Text"
NAME="Phone">
Дата рождения : <INPUT TYPE="Text"
NAME="Birthday">
</FORM>
</BODY>
</HTML>
Следующий шаблон, example.dbm,
которому будут переданы данные из формы создает запись в таблице
и выдает подтверждающее сообщение:
<DBINSERT DATASOURCE="Person
DB" TableName="Persons"
FORMFIELDS="FullName,Phone,Birthday">
<HTML>
<HEAD><TITLE>Подтверждение</TITLE></HEAD>
<BODY>
<H1>Запись создана!</H1>
</BODY>
</HTML>