Применение ASP-команд для изменения базы данных в Dreamweaver

Последнее обновление 25 апр. 2024 г.

Узнайте, как применять ASP-команды в Dreamweaver для изменения базы данных, а также добавления и выполнения хранимой процедуры.

Примечание

Пользовательский интерфейс в Dreamweaver и более поздних версиях стал проще. В результате этого некоторые функции, описанные в этой статье, могут отсутствовать в Dreamweaver и более поздних версиях. Дополнительные сведения см. в этой статье.

Об объектах команды ASP

Объект команды ASP — это серверный объект, который выполняет какую-либо операцию в базе данных. Объект может содержать любую допустимую инструкцию SQL, включая возвращающую набор записей или добавляющую, обновляющую или удаляющую записи в базе данных. Объект команды может изменить структуру базы данных, если инструкция SQL добавляет или удаляет столбец в таблице. Также можно использовать объект команды для выполнения хранимой процедуры в базе данных.

Объект команды может быть многократно используемым в том смысле, что сервер приложений может повторно использовать единую скомпилированную версию объекта для выполнения команды несколько раз. Чтобы сделать команду многократно используемой, установите свойство Prepared объекта Command в значение true, как в следующей инструкции VBScript:

mycommand.Prepared = true

Если вы знаете, что команда будет выполняться более нескольких раз, наличие единой скомпилированной версии объекта может сделать операции базы данных более эффективными.

Примечание

Подготовленные команды поддерживаются не всеми поставщиками баз данных. Если ваша база данных не поддерживает это, она может вернуть ошибку, когда вы устанавливаете данное свойство в значение true. Она может даже проигнорировать запрос на подготовку команды и установить свойство Prepared в значение false.

Объект команды создается сценариями на странице ASP, но Dreamweaver позволяет создавать объекты команд, не написав ни одной строки кода ASP.

Применение ASP-команд для изменения базы данных

Можно использовать Dreamweaver для создания объектов команд ASP, которые вставляют, обновляют или удаляют записи в базе данных. Необходимо предоставить объекту команды инструкцию SQL или хранимую процедуру, которая выполняет операцию в базе данных.

В Dreamweaver откройте страницу ASP, которая будет выполнять команду.
Откройте панель «Поведение сервера» («Окно» > «Поведение сервера»), нажмите кнопку «плюс» (+) и выберите «Команда».
Введите имя для команды, выберите соединение к базе данных, содержащей записи, которые хотите редактировать, и выберите операцию редактирования, которую должна выполнить команда — «Вставить», «Обновить» или «Удалить».

Dreamweaver запускает инструкцию SQL на основе типа выбранной операции. Например, если вы выберете команду «Вставить», диалоговое окно будет выглядеть следующим образом:

Введение ASP-команды
Введение ASP-команды

Завершение создания SQL-оператора

Для получения информации о написании инструкций SQL, изменяющих базы данных, обратитесь к руководству по Transact‑SQL.

Определить SQL-переменные можно в области «Переменные». Укажите имя и значение времени выполнения. Указание типа и размера каждой переменной предотвращает атаки внедрения.

В следующем примере показана инструкция Insert, содержащая три переменные SQL. Значения этих переменных предоставляются параметрами URL, передаваемыми на страницу, как определено в столбце «Значение времени выполнения» области «Переменные».

Оператор Insert с тремя переменными SQL
Оператор Insert с тремя переменными SQL

Для получения значения размера используйте панель «Базы данных» в Dreamweaver. Найдите вашу базу данных на панели «Базы данных» и разверните ее. Далее найдите таблицу, с которой вы работаете, и разверните ее.В таблице указаны размеры полей. Например, там может быть указано ADDRESS (WChar 50). В данном примере размер равен 50. Размер также можно найти в приложении базы данных.

Примечание

Числовые, логические типы данных и типы данных даты/времени всегда используют -1 в качестве размера.

Чтобы определить значение типа, см. следующую таблицу:

Тип в базе данных

Тип в Dreamweaver

Размер

Числовой (MS Access, MS SQL Server, MySQL)

С двойной точностью

-1

Логический, Да/Нет (MS Access, MS SQL Server, MySQL)

С двойной точностью

-1

Дата/время (MS Access, MS SQL Server, MySQL)

DBTimeStamp

-1

Все остальные типы текстовых полей, включая типы текстовых данных MySQL char, varchar и longtext

LongVarChar

проверка таблицы базы данных

Текст (MS Access) или nvarchar, nchar (MS SQL Server)

VarWChar

проверка таблицы базы данных

Мемо (MS Access), ntext (MS SQL Server) или поля, поддерживающие большие объемы текста

LongVarWChar

1073741823

Дополнительную информацию о типе и размере переменных SQL см. в www.adobe.com/go/4e6b330a.

Закройте диалоговое окно.

Dreamweaver вставляет код ASP на вашу страницу, который при выполнении на сервере создает команду для вставки, обновления или удаления записей в базе данных.

По умолчанию код устанавливает свойство Prepared объекта Command в значение true, что заставляет сервер приложений повторно использовать одну скомпилированную версию объекта каждый раз при выполнении команды. Чтобы изменить этот параметр, переключитесь в представление кода и измените свойство Prepared на false.

Создайте страницу с HTML-формой, чтобы пользователи могли вводить данные записей. В HTML-форму включите три текстовых поля (txtCity, txtAddress и txtPhone) и кнопку отправки. Форма использует метод GET и отправляет значения текстовых полей на страницу, содержащую вашу команду.

О хранимых процедурах

Хотя для создания страниц, изменяющих базы данных, можно использовать серверные операции, вы также можете использовать объекты для работы с базами данных, такие как хранимые процедуры или объекты команд ASP для создания страниц.

Хранимая процедура — это многоразовый элемент базы данных, который выполняет определенную операцию в базе данных.Хранимая процедура содержит код SQL, который может, помимо прочего, вставлять, обновлять или удалять записи. Хранимые процедуры также могут изменять структуру самой базы данных. Например, хранимую процедуру можно использовать для добавления столбца таблицы или даже удаления таблицы.

Хранимая процедура также может вызывать другую хранимую процедуру, а также принимать входные параметры и возвращать несколько значений вызывающей процедуре в виде выходных параметров.

Хранимая процедура является многоразовой в том смысле, что одну скомпилированную версию процедуры можно использовать повторно для выполнения операции базы данных несколько раз. Если известно, что задача базы данных будет выполняться более нескольких раз — или одна и та же задача будет выполняться разными приложениями — использование хранимой процедуры для выполнения этой задачи может повысить эффективность операций базы данных.

Примечание

Базы данных MySQL и Microsoft Access не поддерживают хранимые процедуры.

Добавление хранимой процедуры (ColdFusion) (CS6)

Вы можете использовать хранимую процедуру для изменения базы данных.Хранимая процедура — это многократно используемый элемент базы данных, который выполняет некоторые операции с базой данных.

Перед использованием хранимой процедуры для изменения базы данных убедитесь, что хранимая процедура содержит SQL, который каким-либо образом изменяет базу данных.Чтобы создать и сохранить её в вашей базе данных, обратитесь к документации базы данных и хорошему руководству по Transact-SQL.

В Dreamweaver откройте страницу, которая будет запускать хранимую процедуру.
На панели «Привязки» (Окно > Привязки) нажмите кнопку «Плюс» (+), а затем выберите «Хранимая процедура».
В всплывающем меню «Источник данных» выберите подключение к базе данных, содержащей хранимую процедуру.
Введите имя пользователя и пароль источника данных ColdFusion.
Выберите хранимую процедуру из всплывающего меню «Процедуры».

Dreamweaver автоматически заполнит все параметры.

Выберите параметр и нажмите «Редактировать», если нужно внести изменения.

Открывается диалоговое окно «Изменить переменную хранимой процедуры». Имя редактируемой переменной отображается в поле «Имя».

Примечание

Введите тестовые значения для любых входных параметров хранимой процедуры.

Выполните следующие необходимые изменения.
  • Выберите во всплывающем меню пункт «Направление». Хранимая процедура может иметь входные значения, выходные значения или как входные, так и выходные значения.

  • Выберите во всплывающем меню пункт «Тип SQL». Введите возвращаемую переменную, значение времени выполнения и тестовое значение.

Если хранимая процедура принимает параметр, нажмите кнопку «Плюс» (+), чтобы добавить параметр страницы.
Примечание

Введите соответствующие параметры страницы для каждого возвращаемого значения параметра хранимой процедуры.Не добавляйте параметры страницы, если нет соответствующего возвращаемого значения.

Нажмите кнопку «Плюс» (+) снова, чтобы добавить ещё один параметр страницы, если необходимо.

Выберите параметр страницы и нажмите кнопку «Минус» (-), чтобы удалить параметр при необходимости, или нажмите «Редактировать», чтобы внести изменения в параметр.
Выберите параметр «Возвращает именованный набор записей», затем введите имя для набора записей; если хранимая процедура возвращает набор записей, нажмите кнопку «Тест», чтобы просмотреть набор записей, возвращаемый хранимой процедурой.

Dreamweaver запускает хранимую процедуру и отображает набор записей, если таковой имеется.

Примечание

Если хранимая процедура возвращает набор записей и принимает параметры, вы должны ввести значение в столбце «Значение по умолчанию» в поле «Переменные» для тестирования хранимой процедуры.

Примечание

Вы можете использовать различные тестовые значения для создания различных наборов записей.Чтобы изменить тестовые значения, нажмите кнопку «Редактировать» для параметра и измените тестовое значение, или нажмите кнопку «Редактировать» для параметра страницы и измените значение по умолчанию.

Выберите параметр Returns Status Code Named, введите имя для кода статуса, если хранимая процедура возвращает значение кода статуса возврата. Нажмите кнопку «ОК».

После закрытия окна Dreamweaver вставляет код ColdFusion в вашу страницу, который вызывает хранимую процедуру в базе данных при выполнении кода на сервере.Хранимая процедура в свою очередь выполняет операцию с базой данных, например, вставку записи.

Если хранимая процедура принимает параметры, можно создать страницу, которая собирает значения параметров и передает их на страницу с хранимой процедурой. Например, можно создать страницу, которая использует параметры URL или HTML-форму для сбора значений параметров от пользователей.

Запуск хранимой процедуры (ASP) (CS6)

Для страниц ASP необходимо добавить объект команды на страницу, чтобы запустить хранимую процедуру. Дополнительную информацию об объектах команд см. в разделе О командных объектах ASP.

В Dreamweaver откройте страницу, которая будет запускать хранимую процедуру.
На панели «Привязки» (Окно > Привязки) нажмите кнопку «Плюс» (+), а затем выберите «Command (Stored Procedure)».

Открывается диалоговое окно «Команда».

Введите имя для команды, выберите подключение к базе данных, содержащей хранимую процедуру, а затем выберите «Хранимая процедура» из всплывающего меню «Тип».
Выберите хранимую процедуру, развернув ветвь Stored Procedures в окне Database Items, выбрав хранимую процедуру из списка и нажав кнопку Procedure.
Введите необходимые параметры в таблицу «Переменные».

Для переменной RETURN_VALUE вводить параметры не требуется.

Нажмите кнопку «ОК».

После закрытия диалогового окна код ASP вставляется в вашу страницу. При выполнении кода на сервере код создает объект команды, который запускает хранимую процедуру в базе данных. Хранимая процедура в свою очередь выполняет операцию с базой данных, например, вставку записи.

По умолчанию код устанавливает свойство Prepared объекта Command в значение true, что заставляет сервер приложений повторно использовать единую скомпилированную версию объекта каждый раз при запуске хранимой процедуры. Если вы знаете, что команда будет выполнена более нескольких раз, наличие единой скомпилированной версии объекта может повысить эффективность операций с базой данных. Однако если команда будет выполнена только один или два раза, ее использование может фактически замедлить ваше веб-приложение, поскольку системе придется приостанавливаться для компиляции команды. Чтобы изменить настройку, переключитесь в режим кода и измените свойство Prepared на false.

Примечание

Не все поставщики баз данных поддерживают подготовленные команды. Если ваша база данных не поддерживает их, при запуске страницы может появиться сообщение об ошибке. Переключитесь в режим кода и измените свойство Prepared на false.

Если хранимая процедура принимает параметры, можно создать страницу, которая собирает значения параметров и передает их на страницу с хранимой процедурой. Например, можно создать страницу, которая использует параметры URL или HTML-форму для сбора значений параметров от пользователей.