ПОНЯТНО О Visual Basic NET (том 3)


Изменяем в коде содержимое таблицы, создаем и стираем таблицы


SQL-оператор SELECT не меняет содержимое базы данных, а только делает выборку. В этом подразделе мы на примерах познакомимся с SQL-операторами, которые изменяют содержимое таблицы базы данных, а также создают таблицы и удаляют их. Это операторы INSERT, DELETE, UPDATE, CREATE TABLE, DROP TABLE. Для их испытания вполне можно использовать наш последний проект. В текстовое поле вы вводите SQL-оператор и нажимаете кнопку Выполнить запрос. В исходной базе данных происходят изменения. Однако, в нижней сетке вы не увидите ничего. Чтобы наблюдать изменения, нужно нажать кнопку  Из базы – на экран  и посмотреть в верхнюю сетку.

Добавляем записи в таблицу. Оператор INSERT. Следующий оператор приказывает вставить в таблицу роман Толстого «Воскресение» объемом в 700 страниц:

INSERT INTO   Книги (Avtor, Nazvanie, Kol_str)

VALUES   ('Толстой', 'Воскресение', 700)

Точный смысл:

ВСТАВИТЬ В

таблицу Книги новую запись. В этой записи полям Avtor, Nazvanie, Kol_str, придать соответственно

ЗНАЧЕНИЯ

«Толстой», «Воскресение», 700.

Поля, которым не придано значение, остаются пустыми (в сетке мы увидим значение (null) ). Обратите внимание, что строковые константы берутся не в двойные, а в одинарные кавычки.

Вместо констант можно писать выражения. Пример:

INSERT INTO Книги (Avtor, Nazvanie, Kol_str)

VALUES ('Толстой', 'Воскресение', 400+300)

Удаляем записи из таблицы. Оператор DELETE. Следующий оператор приказывает стереть из таблицы все тонкие книги Толстого:

DELETE FROM   Книги

WHERE   (Kol_str<100) And (Avtor='Толстой')

Точный смысл:

СТЕРЕТЬ ИЗ

таблицы Книги  все записи,

ГДЕ число страниц меньше 100 и автор – Толстой.

Если часть WHERE не писать, будут стерты все записи таблицы:

DELETE FROM Книги

Обратите внимание, что в верхней сетке при нажатии на кнопку Из базы – на экран  записи «не стираются». Создается ошибочное впечатление, что они не стираются и в самой базе данных. Оно создается потому, что указанные SQL-операторы выполняют изменения именно в базе данных, а не в DataSet. Адаптер, отправляя при нажатии на верхнюю кнопку из измененного файла в DataSet, скажем, 5 записей (а в DataSet их все еще 7), обновляет в DataSet только эти 5 записей, остальные не трогая. Чтобы избежать такого впечатления, нужно перед оператором заполнения DataSet




Начало  Назад  Вперед