Програмирование на Visual Basic
| Категория реферата: Рефераты по кибернетике
| Теги реферата: реферат традиции, чс реферат
| Добавил(а) на сайт: Viktor.
Предыдущая страница реферата | 1 2 3 4 5 6 7 8 9 | Следующая страница реферата
Пример:
Const ONE& = / (резервирует 4 байта)
Const ONE# = 1 (резервирует 8 байтов, хранится в виде числа двойной точности с плавающей точкой).
В Visual Basic имеется большое число встроенных констант, значения которых
определены заранее и их можно использовать без предварительного
определения. Примерами таких констант являются:
vbOKCancel = 1 — аргумент функции MsgBox для вывода в диалоговом окне
командных кнопок ОК и Cancel;
vbYesNoCancel = 3 — аргумент функции MsgBox для вывода в диалоговом окне
командных кнопок Yes, No, Cancel;
vbOk = 1 — значение, которое возвращает MsgBox, если пользователь щелкнул
по кнопке ОК в диалоговом окне;
. vbCancel = 2 - значение, которое возвращает MsgBox, если пользователь щелкнул по кнопке Cancel в диалоговом окне.
Полную информацию о встроенных константах можно найти в Object Browser.
Кроме того, в комплекте Visual Basic имеется файл CONSTANT.TXT, содержащий
десятки часто используемых констант. Необходимые константы могут быть
скопированы в программу. 3.2.3. Имена
Имена используются для обозначения объектов в программе (константа является
объектом программы). Правила образования имен:
. первым символом имени должна быть латинская буква;
. имя может включать только латинские буквы, цифры и знак подчеркивания
(_);
. имя может содержать не более 40 символов;
. ключевые слова или Reserved word (Зарезервированные слова) не могут использоваться в качестве имен (список ключевых слов содержится в справочной системе Visual Basic в разделе Reserved word).
Примеры:
Правильные имена Неправильные имена StartTime CM*PER*INCH
А2 23В
color File (ключевое слово) • VariableName BMW_360
Хорошим тоном при программировании на любом языке является осмысленный
выбор имен для объектов программы (присваивать объектам имена, соответствующие контексту и несущие описательную нагрузку). В качестве
примера можно привести имя процедуры обработки события, связанного с
щелчком мыши по командной кнопке, запускающей программу btnStart_CUck:
первая часть имени состоит из сокращения слова кнопка (button — btn) и
слова Start, вторая часть определяет событие — Click.
3.2.4. Оператор объявления
Оператор объявления резервирует в памяти место для хранения данных
определенного типа и организации и присваивает ему имя, по которому
производится обращение к данным.
Оператор имеет вид:
Global имя [({описатель})} [As [New] тип} [, имя [([описатель])]
[As [New]w“n] ] . . .
Dim, Global, As, New — ключевые слова (Global используется для объявления
глобальных данных (см. ниже). New используется для создания нового объекта
на основе существующих объектов, например формы); имя — имя объекта (имя переменной, массива); тип - тип данных; описатель — определяет организацию данных (например, массива, см. ниже).
Пример:
Dim Name, YourName As String, N As Integer, Money As Currency,
SiirName As String* 15
(переменная SurName определена как символьная фиксированной длины в 15
символов).
При описании имен прописные и строчные буквы воспринимаются одинаково.
Однако после определения ссылки на эту переменную должны соответствовать
последней форме записи (производится автоматическое преобразование текста
программы).
Visual Basic допускает использование имен без объявления их типа (в этом
случае автоматически определяется тип, требующий для размещения минимальной
памяти), однако целесообразно и является признаком хорошего тона явно
объявлять типы используемых данных.
Из рассмотренных в предыдущей главе примеров программ для работы с формами
и управляющими элементами известно, что любая программа состоит из формы и
элементов управления, которым поставлены в соответствие процедуры. Более
сложные программы могут включать несколько форм.
Существует понятие области действия (scope) данных, определяющее
возможность доступа к тем или данным (например, к переменной) в отдельных
процедурах одной формы или в процедурах, относящихся к разным формам одной
программы.
Если оператор объявления какой-либо переменной находится внутри процедуры
обработки события, то доступ к этой переменной (возможность ее
использования) возможен только в рамках данной процедуры. Такая переменная
называется локальной (local).
Для того чтобы одна и та же переменная могла использоваться в разных
процедурах одной формы, оператор объявления переменных должен быть помещен
в раздел общих объявлений (general), доступ к которому открывается щелчком
мыши по элементу “general” раскрывающегося списка окна Object формы.
Объявленная таким образом переменная имеет статус действующей на уровне
модуля (modul-level variable) и может использоваться (доступна) в любой
процедуре данной формы. Для того чтобы одна и та же переменная могла
использоваться в процедурах разных форм одной программы она должна быть
объявлена как глобальная переменная (global variable). Используется
ключевое слово Global вместо Dim.
Пример:
Global Name, YourName As String, N As Integer, Money As Currency,
SurName As String* 75
Операторы объявления глобальных переменных помещаются в-модулях кода (code
modules, см. ниже) и эти переменные могут использоваться во всей программе.
Схема, иллюстрирующая области действия переменных, показана на рис. 3.1.
В Форме 1 переменная Р объявлена в разделе общих объявлений (general) формы
и может быть использована как в Процедуре X, так и в Процедуре Z. Изменение
значения переменной в одной из процедур влечет за собой изменение и в
другой процедуре.
[pic]
Рис. 3.1
Объявленные переменные И в Процедуре Х и G в Процедуре Z Формы 1 определены
только внутри этих процедур, аналогично переменной G в Процедуре_У Формы 2.
Эти переменные определены только в рамках своих процедур. Более того, для
одноименных переменных G в Процедуре Z и в Процедуре Y выделяются разные
ячейки памяти и изменение значения переменной
G в одной из процедур не влечет изменения значения в другой процедуре.
Переменные А и В определены как глобальные для всей программы и доступны во
всех процедурах Формы 1 и Формы 2. Изменение значения переменных в одной из
процедур одной из форм влечет изменение значений в других процедурах и
формах.
Рассмотренные области действия переменных справедливы и для других
объявляемых данных (констант, пользовательских типов данных, массивов и
др.).
Как было сказано выше, описания глобальных данных помещаются .в модуль
кода. Определения формы и все связанные с ней программы хранятся в
отдельном файле с расширением .FRM. Программы, состоящие из нескольких форм
и соответственно из нескольких таких файлов, размещаются в файлах модулей
кода с расширением. Такие файлы создаются при выборе в меню Insert
(Вставить) команды Module (Создать модуль) или при щелчке мыши на
одноименной кнопке панели инструментов.
3.2.5. Пользовательские типы данных (записи)
Данные различных типов можно сгруппировать по какому-либо признаку в
удобную для использования одну структуру. В ряде языков программирования
такие структуры называются записями (records).
Оператор объявления пользовательского типа данных (записи) помещается в
модуль и имеет вид:
Type имя записи имя элемента записи [(описатель)} As тип
[имя элемента записи [(описатель)} As тип}
End Type
[pic] Оператор создает указанную структуру данных, но не выделяет под неё
память. Память выделяется рассмотренным оператором описания, в котором в
качестве типа указывается имя записи (имя пользовательского типа данных).
Пример:
Dim Student_l, Student_2 As Student Описаны два имени (Student_l, Student_2
), для каждого из которых определены заданные в структуре компоненты
(Familia, Name, Voyast, Birthdate, Length, Wegith) и для хранения значений
которых выделяется память соответственно заданному типу (длине и способу
представления).
Для обращения к конкретному свойству (элементу структуры) определенного
объекта используется составная запись
имя переменной.элемент структуры
Например, Student'_]. Birthdate определяет дату рождения студента
Student_7.
3.2.6. Массивы
Массив - упорядоченный набор однотипных данных, обозначенный одним именем.
Массив может строится из однотипных переменных, однородных пользовательских
типов данных (одинаковых записей), однотипных элементов пользовательских
типов данных.
Массив объявляется уже рассмотренным оператором
{Dim | Global [ Static) имя [({описатель})} [As [New] тип} [, имя
[([описатель])} [As [NewJ/гаил] ] . . . где описатель имеет следующий
синтаксис:
[нижняя граница То ]верхняя граница[,[нижняя граница То] верхняя граница] .
.
нижняя граница определяет минимальное значение индекса массива (целого
типа);
верхняя граница определяет максимальное значение индекса массива (целого
типа);
То — ключевое слово.
Количество повторений [нижняя граница То [верхняя граница определяет
размерность массива (количество индексов, используемое для определения
элементов массива). Максимальное число индексов равно 60.
Static в процедурах и функциях позволяет сохранить значения элементов
объявленного таким образом массива между вызовами этих процедур или
функций.
Пример различного способа объявления одного и того же массива:
. Dim A(8,3) As Double Dim A(6>To 8, О То 3) As Double Dim A(8, OTo 3}
As Double
Объявляется двухмерный массив (два индекса). Нижняя граница обоих индексов равна 0 (принимается по умолчанию). Верхняя граница первого индекса равна 8, второго — 3. Массив состоит из
36 элементов (9*4=36) одинакового типа (вещественный) и каждый элемент занимает 8 байтов.
Границы значений индексов: от —32768 до 32767.
Примеры:
Dim A(—4 То 10} As Integer
Dim B(—99 То —5, —3 То 0) As String
Элементы массива занимают связанную последовательную область в памяти
машины. Массив А в примере занимает в памяти машины последовательность из
15 ячеек памяти, каждая из которых имеет длину 2 байта (тип Integer имеет
длину 2 байта, рис. 3.2).
[pic]
Многомерные массивы также занимают линейную последовательную область
памяти. При этом важное значение имеет способ упорядочения элементов
многомерных массивов, который отличается для различных языков
программирования.
В Visual Basic многомерные массивы упорядочиваются в памяти машины так, что
быстрее всего меняется левый индекс. Например, двумерный массив (в
прикладных математических программах матрицы представляются двумерным
массивом) А (2,3), состоящий из 12 элементов, располагается в памяти машины
следующим образом: А(0,0), А(1,0), А(2,0), А(0,1), А(1,1), А(2,1), А(0,2),
А(1,2), А(2,2), А(0,3), А(1,3), А(2,3) (если данный
массив представляет матрицу, то в памяти машины она упорядочивается по
столбцам).
Для рассмотренного пользовательского типа данных (записи) Student можно
также объявить массив оператором Dim MasStudent (25) As Student
Объявляется одномерный массив MasStudent, состоящий из 26 элементов, каждый
из которых является одной записью:
Type Student
Familia As String * 20 Name As String * 10 Voyast As Integer Birthdate As
Double Length As Integer Wegith As Integer End Type
рассмотренной выше. Записи располагаются последовательно в памяти машины и
занимают каждая 44 байта. 20 байт занимает Familia (один символ занимает 1
байт), 10 байт - Name, 2 байта -Voyast (целый тип занимает 2 байта), 8 байт
- Birthdate (вещественный двойной точности занимает 8 байт) и по 2 байта
-Length и Wegith (целый тип).
Элемент пользовательского типа данных (записи) может являться массивом.
Например, можно объявить массив записей для хранения результатов экзаменов
студентов группы. Туре Rezultat
Familia As String * 20 NameExam (4) As String * /5 RewltExam (4) As Integer
End Type Dim Sesia(25) As Reyiltat
Объявлен пользовательский тип данных Rewltat, элементами которого являются
Familia фиксированной длины 20 символов (фамилия студента не может состоять
более чем из 20 символов), массив NameExam (4) из пяти элементов (число
экзаменов в сессии не более 5) для хранения названия экзаменов (название
каждого экзамена не может состоять более чем из 15 символов), массив
RewltExam (4) из пяти элементов для хранения оценок по каждому экзамену
(целого типа). Длина записи Rewltat 105 байтов.
На базе пользовательского типа данных Requital объявлен массив Se Gridl.ColWidth(I)
Then
Gridl.ColWidth(I) = CellWidth).
Заполненная сетка показана на рисунке 5.12.
5.4. СОЗДАНИЕ БАЗ ДАННЫХ
Создание новой базы данных может быть выполнено программно или с помощью
специальной встроенной подсистемы Data Manager, позволяющей в диалоговом
режиме создавать и модифицировать базы данных механизма Jet. Подсистема
Data Manager запускается из раскрывающегося меню Add-Ins Главного меню
Visual Basic.
[pic]
Рис 5 12
Рассмотрим использование подсистемы Data Manager на примере создания базы
данных по товарам на складе и их поставщикам. Таблицы База данных включает
две таблицы (таблица товаров на складе, таблица поставщиков).
Таблица товаров на складе
|Номер|Номер |HilJBBUHe |Стоимость,|Количест|
|товар|поставщи|roB.tpJ |руб /hit |во на |
|а |ка | | |СКЛаДе |
|1 |2 |Магнитола |150000 |20 |
|2 |2 |Приемник |200000 |5 |
|3 |1 |Плеер |350000 |15 |
|4 |3 |Кофеварка |175000 |34 |
|5 |3 |Элсктрочаи|120000 |57 |
| | |ни к | | |
|6 |1 |CD — Плеер|750000 |8 |
Таблица поставщиков
|Номер |Название |Город |Адрес |Телефон|
|постав-|фирмы | | | |
|шика | | | | |
|1 |ЗАО |Тверь |ул. |12345 |
| |“Посредник| |Космонавт| |
| |” | |ов 12 | |
|2 |“Импульс” |Москва |Пр Мира, |2334455|
| | | |5 | |
|3 |“Старт” |Серпухов|ул |345678 |
| | | |Зеленая | |
| | | |11 | |
Таблица товаров на складе связана с таблицей поставщиков через поле “Номер
поставщика” (внешний ключ для таблицы товаров).
После щелчка мыши по пункту Data Managei раскрывающегося меню Add-Ins
Главного меню появляется окно Data Manager, в меню “Файл” нужно выбрать
пункт “New DataBase” (создание новой базы данных). Появляется окно для
создания файла базы данных (рис. 5.13). По умолчанию задано расширение
файла .mbd (файл базы данных Access).
[pic]
Рис 5 13
После задания имени файла появляется окно проектирования для задания
таблиц, полей таблиц, отношений и индексов (рис. 5.14).
Кнопка “New” используется для создания новой таблицы, “Open” — открытие
существующей таблицы для ввода данных, “Delete” — удаление таблицы,
“Design” — задание параметров полей таблицы, “Attach” — для подключения
используемой СУБД (по умолчанию — СУБД Access). “Relations” — построение
отношений между таблицами.
[pic]
Щелчок мыши по кнопке “New” открывает окно проектирования таблицы для ввода
имен полей и задания их свойств (рис. 5.15).
Рис 5 14
[pic]
Рис 515
В поле Field Name вводятся имена полей таблицы и в раскрывающемся киже меню
задается их тип (при задании типа полей “Номер товара” и “Номер поставщика”
следует выбирать Long Integei, так как эти поля будут использоваться в
качестве счетчика для первичного ключа). Стрелки “ > ” и “ < ” обеспечивают
соответственно добавление введенных имен полей или их удаление. Кнопки “Up”
и “Down” позволяют изменять последовательность полей таблицы. Аналогично
может быть введена таблица поставщиков.
Когда таблицы созданы и выбрана одна из них, активизируются кнопки Design
(проекгирование таблиц). Open (открытие таблиц для ввода или редактирования
информации). Delete (удаление таблиц) и Relations (отношения между
таблицами). Проектирование таблиц должно предшествовать заданию отношений
между таблицами и вводу данных
При щелчке по кнопке Design открывается окно редактирования (рис 5 16), содержащее список параметров полей и командные кнопки
[pic]
Рис 5 16
Для выбранного поля таблицы (на рисунке выбрано поле “номер поставщика”)
при щелчке по кнопке “Edit” открывается окно редактирования параметров (рис
5 17). На рисунке для поля таблицы “Номер поставщика” задан параметр
“Counter” (Счетчик) Это поле является ключевым и должно иметь уникальные
значения При задании параметра “Counter”, СУБД автоматически поддерживает
уникальность этого поля, увеличивая значение счетчика при вводе новой
записи Другие параметры имеют следующий смысл DefaultValue — значение по
умолчанию, DataUpdatable — возможность изменения. Required — обязательность
ввода, AllowZeioLenght — возможность задания строки нулевой длины,
ValidationText и ValidationRule — правила корректности, Fixed или Variable
Length — фиксированной или переменной длины.
[pic]
Рис 5 17
[pic]
Кнопка “Indexes..” позволяет перейти к созданию и редактированию индексов
таблицы (рис 5 18) Для создания или
добавления нового индекса нужно щелкнуть по кнопке “Add ” открывается окно
для создания индекса (рис. 5.19).
Рис 5 18
В окне нужно задать имя индекса. Затем выбрать поля таблицы (“Fields in
tdble”), которые включаются в индекс. Выбранные поля кнопками Add(ASC) или
Add(DEC) (в зависимости от того, упорядочиваются записи по возрастанию или
убыванию) Добавляются в индексный список (“Fields in index”). Кнопка Remove
позволяет удалить поле индекса Индикаторы в окне позволяют также определить
индекс как первичный (Plimary Index) [pic]
или внешний (Foieign Index), уникальный (Unique) или кластерный
(Clustered). Соответствующий требованиям индекс сохраняется кнопкой ОК и
отображается в окне Indexes (рис. 5.18) Для удаления индекса используется
кнопка Remove
Кнопка “Keys. .” окна Table Editor позволяет перейти к созданию ключей
таблицы (рис. 5 20). В раскрывающемся списке полей таблицы выбирается поле
“Номер поставщика”, которое будет использоваться в качестве первичного
ключа. Для таблицы “Товары” первичным ключом определим поле “Номер товара”.
[pic]
Кнопка “Relations...” окна Table Editor позволяет перейти к созданию
отношений между таблицами. В окне Relations” (рис. 5.21) нужно выбрать из
раскрывающегося списка первичную таблицу (Prymary Table) и связанную
таблицу (Related Table) и установить связь между ними В рассматриваемом
примере первичной таблицей является таблица поставщиков, поле “Номер
поставщика” которой используется в качестве внешнего ключа для таблицы
“Товары”. Ключевое поле первичной таблицы (Номер поставщика) оюбражается на
поле окна Поле для связи связанной таблицы выбирается в раскрывающемся
списке (“Select Matching Fields). Связующие поля отображаются в окне.
[pic]
Вид отношения “один ко многим” (один поставщик может поставлять различные
товары) задается переключателем “Many”. Переключатель “One” определяет
отношение “один к одному”.
Флажок “Enfoice Refeiential Integrity” позволяет установить, нужно ли
обеспечивать целостность отношении (средства СУБД автоматически проверяют
целостность базы данных при модификации информации) Кнопка “Add” вводит
заданное отношение в базу данных.
Таблицы и связи между ними созданы и отображаются в списке таблиц базы
данных (рис. 5 22). При выборе таблицы становятся доступны кнопки “Open”,
“Design”, “Delete”, “Relations” Кнопка “Open” открывает выбранную таблицу
для ввода или редактирования данных (рис. 5.23). Данные приведенных выше
таблиц примера могут быть введены в базу данных.
[pic]
Рис. 5.22
[pic]
Рис. 5.23
К недостаткам подсистемы Data Manager можно отнести ограниченные
возможности по заданию отношений между таблицами. Подсистема позволяет
задать отношения только для ключевых полей “Counter” (Счетчик) и не
позволяет задать составных ключей. Базы данных сложной структуры
целесообразней создавать непосредственно в СУБВ Access, которая имеет
развитые и очень удобные средства проектирования баз данных.
Приведенная база данных может быть создана и программно. Приводится текст
программы для создания таблиц примера. задания ключей, индексов и отношений
между таблицами.
Текст программы:
•
Global Const DB_LANG_GENERAL =
“;LANGID-Ox0809;CP=1252;COUNTRY=0’ Global Const DB_BOOLEAN = 1 Global Const
DB_BYTE = 2 Global Const DB_INTEGER = 3 Global Const DB_LONG = 4 Global
Const DB_CURRENCY = 5 Global Const DB_SINGLE = 6 Global Const DB_DOUBLE = 7
Global Const DB_DATE = 8 Global Const DB_TEXT = 10 Global Const
.DB_LONGBINARY =11 Global Const DB_MEMO = 12
Private Sub Form_Click()
CreateNewDB End Sub
Sub CreateNewDB ()
Dim Db As Database, Dbname As String Dbname = “C:VBPRIMER.MDB” If
Dir(Dbname) “” Then Kill Dbname Set Db = CreateDatabase(Dbname,
DB_LANG_GENERAL) NewProduktTabie Db NewProviderTable Db Relations Db
MsgBox “Ваша база данных , “ & UCase(Dbname) & “, создана” End Sub
Sub NewProduktTabie(D As Database)
Dim Td As New TableDef, Fld() As New Field Dim Idx() As New Index, I As
Integer ReDim Fld(l To 5), Idx(l To 2) Td.Name = “Товары” ' Имя таблицы.
‘ Создание полей таблицы. Fid(I).Attributes = DB_AUTOINCRFIELD For I = 1 To
5 ‘ Задание свойств полей таблицы.
Fld(I).Name = Choose(I, “Номер_товара”, “Номер_поставщика”,
“Название_товара”, “Стоимость”, “Количество”)
Fid(I).Type = Choose (I, DB_LONG, DB_LONG, DB_TEXT, DB_CURRENCY, DB
INTEGER) Fld(I).Size = Choose(I, 4, 4, 30, 4, 4) Td.Fields.Append
Fid(I) Next I ‘ Создание индексов. Idx(l).Name = “PrimaryKey” Idx (1) .
Fields = “Номера/товара” • Idx(l).Primary = True
Idx(1).Unique = True • Idx(2).Name = “Name” Idx(2).Fields =
“Название_товара” For I = 1 To 2
Td.Indexes.Append Idx(I) Next I
D.TableDefs.Append Td ‘ Создание таблицы. End Sub
Sub NewProviderTable(D As Database)
Dim Td As New TableDef, Fid() As New Field
Dim Idx() As New Index, I As Integer
ReDim Fld(l To 5), Idx(l To 2)
Td.Name = “Поставщики” ' Имя таблицы. ‘ Создание полей таблицы.
For I = 1 То 5 'Задание свойств полей таблицы.
Fld(I).Name = Choosefl, “Номер_поставшика”, “Название_фирмы”, “Город”,
“Адрес”, “Телефон”)
Fld(I).Type = Choose(I, DB_LONG, DB_TEXT, DB_TEXT, DB_TEXT, DB_TEXT)
Fld(I).Size = Choose(I, 4, 30, 15, 30, 10)
Next I
Fid(l).Attributes = DB_AUTOINCRFIELD
For I = 1 To 5
Td.Fields.Append Fld(I)
Next I ‘ Создание инде^ов.
Idx(l).Name == “PrimaryKey”
Idx(1).Fields = “Номер_поставщика”
Idx(1).Primary = True
Idx(1).Unique = True
Idx(2).Name = “Fi rmNarne”
Idx(2).Fields = “Название_фирмы”
For I = 1 To 2
Td.Indexes.Append Idx(I)
Next I
D.TableDefs.Append Td ‘ Создание таблицы. End Sub
Public Sub Relations (D As Database) Dim MyField As Field, MyRelation As
Relation
Set MyRelation = D.CreateRelation(“MyRelation”) MyRelation.Table =
“Поставщики” MyRelation.ForeignTable = “Товары” Set MyField =
MyRelation.CreateField(“Номер_поставщика”) MyField.ForeignName =
“Номер_поставщика” MyRelation.Fields.Append MyField D.Relations.Append
MyRelation End Sub
Константы в программе скопированы из входящего в состав Visual Basic файла
DATACONS.TXT. Обращение к процедуре CreateNewDB создания базы данных
помещено в процедуру обработки события Form_Click, из которой производится
обращение к процедуре NewProduktTable, создающей таблицу товаров на складе, к процедуре NewProviderTable, создающей таблицу поставщиков товаров и к
процедуре Relations, создающей отношения между таблицами. Следует обратить
внимание на удобство использования встроенной функции Choose для задания
свойств полей таблиц.
5.5. ИСПОЛЬЗОВАНИЕ ЯЗЫКА SQL ДЛЯ
СОЗДАНИЯ И РАБОТЫ С БАЗАМИ ДАННБ1Х
Язык структурированных запросов (SQL) является стандартным средством для
работы с базами данных и может использоваться как для интерактивной работы
с базами данных, так и включаться в языки программирования. Применительно к
Visual Basic SQL позволяет:
. создавать, модифицировать или удалять таблицы в базе данных Access;
. создавать или удалять индексы для таблиц в базе данных Access;
. вставлять, удалять или модифицировать записи таблиц;
. получать сводную информацию о данных в таблицах (число записей, суммы, средние, минимальные, максимальные значения и др.);
. поиск данных в одной или более таблицах по запросу. Язык SQL используется совместно с элементом управления DATA или с объектами доступа к данным (DAO) механизма Jet. Объект Database содержит объекты доступа к данным TableDef, определяющие таблицы, объекты Field, определяющие поля, объекты Index, определяющие индексы и др.
В ранее рассмотренных параграфах данной главы через элемент управления Data
подключалась одна таблица (свойству Re-cordSource элемента управления Data
присваивалось значение имени таблицы). При использовании языка SQL запрос
вводится в свойство RecordSource. В случае использования элемента
управления Data, это позволяет работать с информацией из нескольких таблиц.
Следует отметить, что каждое выполнение оператора запроса изменяет набор
записеи. В связи с этим необходимо применять метод Refresh для элемента
управления Data после каждого присвоения SQL-запроса свойству RecordSource.
Рассмотрим операторы и использование языка SQL для работы с базами данных.
Для поиска информации в базе данных используется оператор SELECT. Синтаксис
оператора следующий:
SELECT список имен полей FROM список имен таблиц где SELECT, FROM —
ключевые слова;
список имен полей — список имен полей, которые выбираются из одной или
нескольких 1аблиц. Для выбора всех полей можно использовать символ “*”, вместо перечисления имен всех полей. Если имя поля таблицы содержит пробел, то это имя должно заключаться в квадратные скобки;
список имен таблиц — список имен таблиц, из которых производится выбор.
Имена полей и таблиц нечувствительны к регистру клавиатуры.
' Примеры:
SELECT * FROM Titles — выбор всех полей из таблицы Titles рассмотренной
выше базы данных по библиографии по Visual Basic.
SELECT Title, /Year Published/ FROM Titles — выбор полей заголовков (Title)
и года издания (Year Published) из таблицы Titles. Имя поля года издания
берется в квадратные скобки (имеет пробел).
Для поиска информации, соответствующей некоторому условию, используется
дополнение к оператору SELECT — WHERE, которое имеет следующий синтаксис:
SELECT список имен полей FROM список имен таблиц WHERE условие где условие
определяет критерии поиска информации.
В условии используются имена полей, операции сравнения ( , >=,
) и специальные операции сравнения IN, LIKE, BETWEN. Эти операции могут
объединяться с помощью логических операций и задавать сложные условия
поиска информации.
Примеры:
SELECT /Year Published/, Title FROM Titles
WHERE /Year Published/ > 1991 определяет выбор названий книг, год выпуска
которых позже 1991.
SELECT I Last Name], /First Name/ FROM Employees
WHERE /Last Name/ = ‘King’ определяет выбор полей имен и фамилий из таблицы
служащих, фамилии которые совпадают с фамилией King.
Операция IN сравнивает содержимое поля со списком значений, определяющих
критерий поиска информации.
Примеры:
SELECT /Year Published/, Title FROM Titles
WHERE /Year Published/ IN (1995, 1996) определяет выбор книг, опубликованных в 1995 и в 1996 гг.
SELECT /Last Name/, /First Name/, City FROM Employees
WHERE City In (‘Interlaken ', ‘New York’, ‘Frankfurt’) определяет выбор
служащих, живущих в городах Interlaken, New York или Frankfurt.
Операция LIKE сравнивает содержимое поля со значением образца. Для записи
образца используются строковые константы, символы шаблона и списки
диапазона символов.
Символы шаблона следующие: *, ?, #. * — соответствует цепочке символов, ? —
соответствует одному символу, # — соответствует одной цифре.
Примеры:
R* — возможные результаты поиска right, Roza.
Рекомендуем скачать другие рефераты по теме: налоги в россии, банк курсовых работ бесплатно.
Категории:
Предыдущая страница реферата | 1 2 3 4 5 6 7 8 9 | Следующая страница реферата