Использование технологий WWW для доступа к базам данных

       

Занесение и модификация данных с использованием тегов 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

могут иметь также еще два необязательных атрибута:

  • TABLEOWNER - для тех источников

    данных которые поддерживают права собственности на таблицы (например,

    SQL Server, Oracle и др.),

    этот атрибут можно использовать, чтобы указать собственника таблицы.

  • TABLEQUALIFIER - для различных

    источников данных этот атрибут может иметь разный смысл. Так,

    для 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>


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