DatabaseUpdate()
Синтаксис
Result = DatabaseUpdate(#Database , Request$)
Описание
Выполняет запрос модификации для указанной Базы Данных. Эта команда не возвращает записи. Чтобы выполнить запрос типа 'SELECT', используйте DatabaseQuery().
Параметры
#Database Номер указанной Базы Данных Request$ Запрос, который требуется выполнить.
Возвращаемое значение
Возвращает не нулевое значение, если запрос был выполнен успешно, в противном случае 0, например если запрос не удачен по причине ошибки SQL или плохо сформированного SQL-запроса.
Комментарии
Эта функция подобна DatabaseQuery(), но не связана с работой функции NextDatabaseRow(). Также, при помощи этой функции невозможно выполнять запросы типа 'SELECT'. Основное применение - создание таблиц, занесение и обновление записей в Базах Данных. В случае возникновения ошибки, текст с описанием ошибки может быть получен с помощью DatabaseError().
Запрос обновления может содержать подставляемые метки - указатели для связанных переменных. Такие переменные должны быть заданы до вызова функции, с помощью функций SetDatabaseString(), SetDatabaseLong() и т.д. После выполнения обновления связанные переменные очищаются и для будущих вызовов должны быть заданы снова. Синтаксис для определения связанных переменных в SQL зависит от базы данных. Пример ниже демонстрирует синтаксис.
Пример
; Во-первых, откройте базу данных (создайте соединение) со списком сотрудников. ; If DatabaseQuery(#Database, "SELECT * FROM employee") ; Получите все записи в таблице 'сотрудники' While NextDatabaseRow(#Database) ; Цикл для всех записей ; Обновите поле 'checked' для каждой записи, при условии, ; что поле 'id' является первым в таблице 'employee' ; DatabaseUpdate(#Database, "UPDATE employee SET checked=1 WHERE id="+GetDatabaseString(#Database, 0)) Wend FinishDatabaseQuery(#Database) EndIf
Пример: Связывание переменных с SQLite, MySQL и ODBC
; SQLite, MySQL и ODBC используют один и тот же синтаксис для связанных переменных. ; Подставляемым в запрос к базе данных указателем на связанную переменную является символ '?'. SetDatabaseLong(0, 0, 1) SetDatabaseString(0, 1, "test") DatabaseUpdate(0, "UPDATE employee SET checked=? WHERE id=?")
Пример: PostgreSQL
; PostgreSQL использует другой синтаксис: символы $ 1, $ 2... вместо символа '?', в запросе к базе данных. ; SetDatabaseLong(0, 0, 1) SetDatabaseString(0, 1, "test") DatabaseUpdate(0, "UPDATE employee SET checked=$1 WHERE id=$2")
См. также
DatabaseQuery() SetDatabaseString(), SetDatabaseLong(), SetDatabaseQuad(), SetDatabaseFloat(), SetDatabaseDouble() SetDatabaseBlob(), SetDatabaseNull()
Поддерживаемые OS
Все