Опубликован: 08.05.2007 | Доступ: свободный | Студентов: 12881 / 3013 | Оценка: 4.13 / 3.77 | Длительность: 12:58:00
Лекция 9:

Доступ к базам данных

< Лекция 8 || Лекция 9: 123 || Лекция 10 >

Удаление записей

Оператор SQL DELETE используется для удаления существующих в базе данных записей.

Синтаксис оператора SQL DELETE показан ниже:

DELETE FROM Имя_таблицы WHERE критерий

Более подробно оператор DELETE рассматривается в "Доступ к базе данных MySQL" .

Следующая форма представляет запись пользователя, которая будет удалена из таблицы базы данных Personnel (Персонал). Щелчок на кнопке Delete вызывает процедуру PHP, которая выполняет оператор SQL DELETE, чтобы удалить эту запись из таблицы базы данных.


Кроме показанных выше элементов управления формы страница содержит также скрытое текстовое поле с именем "AutoNum" со значением, равным полю AutoNum таблицы базы данных. Это поле используется для уникальной идентификации каждой записи. Следующий код демонстрирует работу страницы:

DirectorySearch.php 

<?php
	
if ($_POST['submitb']=="Delete Record") 
    {
		
     $conn = odbc_connect('Driver={Microsoft Access Driver (*.mdb)}; DBQ=c:\path\to\database.mdb','','');
     $sqlDelete = "DELETE FROM Personnel WHERE AutoNum =" . $_POST['AutoNum'];
     $rsDelete = odbc_exec($conn,$sqlDelete);	
	
	 if(odbc_num_rows($rsDelete) == 1)
	  {
	
	    echo "Запись успешно удалена!";
	
	  }
	
     odbc_close($conn);
		
    }
	
?>
Пример 9.4.

После щелчка на кнопке "Delete Record" устанавливается соединение с базой данных Access. Затем формируется оператор SQL DELETE для удаления записи из таблицы Personnel со значением поля AutoNum равным значению скрытого текстового поля AutoNum. Затем выполняется оператор SQL. Результаты функции odbc_exec() присваиваются переменной $rsDelete. Последний шаг состоит в проверке, что удаление записи было успешным, и в выводе подтверждающего сообщения. Функция odbc_num_rows() применяется для определения числа строк в результатах ODBC или числа строк, затронутых оператором odbc_exec(). Так как удаляется одна запись, то запись будет удалена успешно, если результат функции odbc_num_rows() будет равен 1. В конце соединение с базой данных закрывается.

Изменение записей

Оператор SQL UPDATE используется для изменения или обновления существующих записей базы данных.

Синтаксис оператора SQL UPDATE показан ниже:

UPDATE ИмяТаблицы SET (FieldName1=value1 [,FieldName2=value2]...) 
WHERE критерий

Следующая форма представляет запись пользователя, которая будет обновлена в таблице базы данных Personnel. Модификация любых полей, связанных с записью, и щелчок на кнопке Update Record вызывает процедуру PHP, которая выполняет оператор SQL UPDATE, чтобы обновить эту запись в таблице базы данных.


Кроме показанных выше элементов управления формы страница содержит также скрытое текстовое поле с именем "AutoNum" со значением, равным значению поля AutoNum в таблицы базы данных. Это поле используется для уникальной идентификации каждой записи. Следующий код демонстрирует работу страницы:

DirectorySearch.php 

<?php
	
if ($_POST['submitb']=="Update Record") 
    {
    
    $new_fname = $_POST['FName'];
    $new_lname= $_POST['LName'];
    $new_telephone = $_POST['Telephone'];
    $new_email = $_POST['Email'];
		
    $conn = odbc_connect('Driver={Microsoft Access Driver (*.mdb)}; DBQ=c:\path\to\database.mdb','','');
    $sqlUpdate = "UPDATE Personnel SET (FName = '$new_fname', LName = '$new_lname', Telephone = '$new_telephone',   
    Email = '$new_email') WHERE AutoNum =" . $_POST['AutoNum'];
    $rsUpdate = odbc_exec($conn,$sqlUpdate);	
	
	 if(odbc_num_rows($rsUpdate) == 1)
	  {
	
	    echo "Запись успешно обновлена!";
	
	  }
	
     odbc_close($conn);
		
    }
	
?>
Пример 9.5.

После щелчка на кнопке "Update Record" текущие значения полей формы присваиваются скалярным переменным. Этот шаг не является обязательным, однако он упрощает кодирование оператора SQL UPDATE. Затем устанавливается соединение с базой данных Access. После соединения с базой данных формируется оператор SQL UPDATE для обновления записи в таблице Personnel со значением поля AutoNum, равным значению скрытого текстового поля AutoNum. Затем выполняется оператор SQL. Результаты функции odbc_exec() присваиваются переменной $rsUpdate. Последний шаг состоит в проверке, что обновление записи было успешно, и в выводе подтверждающего сообщения.

Функция odbc_num_rows() используется для определения числа строк в результате ODBC или числа строк, затронутых оператором odbc_exec(). Так как обновляется только одна запись, то обновление записи проходит успешно, если результат функции odbc_num_rows() будет равен 1. В конце соединение с базой данных закрывается.

< Лекция 8 || Лекция 9: 123 || Лекция 10 >
Максим Матросов
Максим Матросов
Наталья Джабасова
Наталья Джабасова