скачать рефераты
  RSS    

Меню

Быстрый поиск

скачать рефераты

скачать рефератыРеферат: Курс лекций по V B 5.0

Input  #FileNum, StudentAdress(I).Adress

Next I

Close FileNume

End Sub

Чтение текстового фала в текст, поле

. . . .

FileNum = FreeFile

Open “My.txt” For Input As FileNum

txtDisplay.Text=Input(LOF (FileNum), FileNum)

Close  #FileNum

где  LOF(FileNum) размер файла в байтах

Дозапись информации в существующий последовательный файл

При этом строки, которые будут выведены в файл присоединяются к строкам, которые уже содержаться в файле. Для этого служит оператор

Open “имя файла” For  Append As  # идентификатор файла

При этом:

- VB открывает файл, а если он не существует, то создает и создает соответствующий буфер;

-  находит конец файла на диске;

- готовит к записи в конец файла.

Пусть существует текстовый файл My.txt и нужно дописать в его конец строку “До свидания”:

FileNum=FreeFile

Open “My.txt” For Append As FileNum

Print  #FileNum, “До свидания”

Close  #FileNum

При обработке больших файлов часто необходимо проверять на достижение конца файла. Для этого существует оператор EOF (идентификатор файла).

Фрагмент программы чтения информации из файла, созданного с помощью оператора Print #

. . . . .

B$ = “ ”

FileNum=FreeFile

Open “My.txt” For Input As #FileNum

Do Until EOF(FileNum)

Line Input #FileNum, A$

B$=B$+A$

Loop

txtDisplay.Text=B$

Close  #FileNum

Файлы прямого доступа

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

При создании файла указывается максимальная длина существующей записи. Команда создания файла:

Open “MyLib.dat” For Random As  # идентификатор файла

Len = длина записи, можно определять с помощью функции Len (имя переменной записи) в текущем каталоге.

Открытый файл прямого доступа может быть прочитан и записан практически одновременно.

Close # идентификатор файла - закрывает файл.

Каждая запись в файле имеет номер записи. Это позволяет работать с конкретной записью. При описании записи задаются пользовательским типом:

Type Books

Auther As String *30

Title As String *40

End Type

Запись, содержащую пятой записи файла в переменную:

Get  #FileNum, 5, NewBook   (если NewBook типа Books)

Запись из переменной в сороковую запись файла:

Print  #FileNum, 40, NewBook

Созданные типы записей определяют размер файла прямого доступа. Размер файла определяется функцией FileLen (“имя файла”). Размер записи Len(NewBook) в байтах.

Двоичные файлы

Двоичные файлы - частный случай файлов произвольного доступа, однако размер в них равен 1. Вы оперируете байтами и всегда можно записать или прочитать любой байт файла, указав лишь его позицию в файле. В режиме двоичного доступа можно открыть как последовательный файл, так и файл прямого доступа. Можно одновременно и читать, и записывать в файл.

Имеются следующие операторы:

Открытие - Open “имя файла” For Binary As  #FileNum

Запись в файл - Put  #FileNum, № байта в файле, имя переменной для записи в файл

Чтение из файла - Get  #FileNum, № байта в файле, имя переменной для записи в файл.

Доступ к данным в VB

VB предоставляет средства доступа к данным, которые дают возможность создавать и использовать системы БД, управляющих данными приложения.

VB позволяет обращаться к базам данных многих популярных форматов: MS Access, Btrieve, dBase, FoxPro, Paradox, а также базам данных ODBS  систем клиент-сервер, таким как MS SQL Server.

В стандартной редакции VB инструменты работы с данными включают:

а) процессор БД Microsoft Jet;

б) элемент управления Data;

в) объектный интерфейс программирования Dao (Data Access Objects).

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

Элемент управления Data дает ограниченные возможности обращения к существующим базам данных практически без программирования. Модель DAO - программный интерфейс, обеспечивающий полный контроль над БД. Это коллекция объектных классов, которые моделируют структуру реляционной БД. Они обеспечивают свойства и методы, которые позволяют выполнять все операции с БД, такие как создание БД, определение таблиц, полей и индексов, установление отношений между таблицами, запросы в базах данных.

Процессор Jet транслирует эти операции в процессе выполнения. Он транслирует запросы приложения в физические операции по обработке файлов БД. Он читает, записывает и изменяет базу данных, выполняет индексацию, блокировку, защиту. Он также принимает запросы SQL, в соответствии с которыми выполняет требуемые действия в базе данных, и обрабатывает результаты, возвращаемые запросами.

Хранилище данных - это файл или файлы, непосредственно создание таблицы БД. Для внутренней БД VB или MS Access - это файл формата  .mdb. Для других баз это может быть каталог, содержащий файлы .dbf.

Архитектура доступа к данным в  VB

Схема доступа к данным в приложении VB

пользователь интерфейс

процессор БД

хранилище данных

Процессор БД располагается между прикладной программой и физическими файлами БД. Этим определяется независимость приложения от типа БД, к которой происходит обращение. Вне зависимости от формата БД в приложении используются одни и те же объекты доступа к данных и методы программирования.

Управление пользовательским интерфейсом осуществляется кодом VB, который манипулирует объектами и методами доступа к данным и запрашивает услуги БД, например, добавление или удаление записей или выполнение запросов. Запросы услуг адресуются не файлу БД, а процессору Jet, который выполняет запрошенные операции по обработке данных и возвращает результаты приложению.

Процессор БД Jet реализован в виде набора файлов динамических библиотек .dll, которые связываются с приложением VB в процессе выполнения Dao в физические операции непосредственно с файлами БД данного формата.

Программирование работы с БД в VB заключается в создании объектов Dao, таких как Database, TableDef, Field и  Index. Свойства и методы этих объектов используются для выполнения операций в БД. Результат этих операций можно вывести на экран, а данные пользователя вводятся через формы VB. Это дает большую гибкость, т.к. одни и те же объекты, свойства и методы можно использовать для доступа к БД различных форматов. Можно также создавать приложения, в которых в единственном запросе или отчете соединяются таблицы из двух и более различных БД.

VB через DAO и  Jet  работает со следующими БД:

1)  БД  VB  - внутренние БД. Формат, что и у MS Access. Создаются и управляются непосредственно процессором Jet.

2) Внешние БД ISAM (индексно-посреднические организации), включая Btrieve, dBase, FoxPro 2. , 3. , Paradox. Эти БД можно создавать и обрабатывать в VB. Можно также обращаться к текстовым источникам данных и   .... MS Excell  и Lotus-1, 2, 3.

3) БД ODBC - интеллектуальные БД клиент-сервер: MS SQL Server, Oracle, поддерживающие стандарт ODBC.

Новый режим DAO - ODBC Direct  позволяет обращаться к источникам данных ODBC, минуя процессор Jet.

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

В процессе обработки запроса процессор Jet выдает подмножество одной из таблиц БД, хотя уже существует или временно создает новую сетку (просмотр) в памяти в виде комбинации данных из разных таблиц. Сетки, состоящей из записей, которые были извлечены из БД, соответствует объект VB RecordSet. Если сетка является дополняемой, то она называется dynaset, в противном случае - snapshop/

Доступ к БД с помощью элемента управления данными Data без программирования

Элемент управления  Data ничего не отображает, а только сопровождает поток информации между приложением и БД. Для отображения информации из БД на экране используются связанные элементы управления, т.е. элементы управления, которые могут работать с элементом управления Data. Они называются data aware или data bound. К связанным элементам управления относятся: текстовые поля, надписи, флажки, элементы управления изображением, графические окна, списки, комбинированные списки, OLE. Связанные элементы должны находиться на той же форме, что и Data. Информация из БД посредством элемента управления Data будет передаваться связанному элементу и сохраняться в его свойствах (хотя он может быть невидим).

После размещения элемента управления Data на форме необходимо задать его свойства:

DataBaseName - имя БД, к которой необходимо подключиться.

RecordSource - для определения таблицы или запроса к БД, в том числе SQL-запросы.

Затем к форме добавляется связанной элемент управления и привязывается к элементу управления Data, для чего:

Свойство DataSource устанавливается по имени элемента управления Data.

Свойство DataField устанавливается по имени столбца из RecordSource.

После выполнения операции привязки, нажатие на стрелки элемента управления Data (< - первая запись, < - ... запись, > - следующая запись, > - последующая запись), будет изменять содержимое связанного элемента управления.

Другие свойства элемента управления Data.

Connect - определяет тип БД, например, FoxPro 3.0.

Exclusive = True - запрет доступа к БД, пока пользователь ее не закроет (после этого необходимо ... Share.exe)

ReadOnly (True/False)

RecordSetType - если RecordSet создается с помощью кода или элемента управления.

Метод Refresh-  по этому  методу все связанные элементы формы обновляют свое состояние в соответствии с текущим состоянием таблицы.

Data1.Refresh.

Он открывает БД, а также устанавливает указатель записи на первую строку в таблицу или сети просмотра.

Свойство RecordSet объекта Data - это воображаемая таблица, к которой подключен элемент Data. Это может быть реальная таблица из RecordSource или сетка просмотра, определяемая SQL-выражением.

Методы RecordSet

AddNew - очистка буфера копирования, содержащего данные, которые должны быть записаны в БД, и перемещение текущей записи в конец. = Добавление записи, которая становится текущей.

Data1.RecordSet.AddNew.

Delete - удаление текущей записи.

Update - реальная пересылка содержимого буфера копирования в таблицу или dynaset.

Edit - копирует текущую запись в буфер копирования для возможности ее редактирования.

MoveNext - перейти на следующую запись

MovePrevious - перейти на предыдущую запись

MoveLast - перейти на последнюю  запись

MoveFirst - перейти на первую  запись

BOF - начало файла.

EOF - конец файла.

RecordCount - количество записей с первой до текущей.

Пример. Удаление всех записей в таблице.

Data1.RecordSet.MoveFirst

Do While Data1.RecordSet.EOF

Data1.RecordSet.Delete

Data1.RecordSet.MoveNext

Loop

Свойство RecordSource - источник записей, позволяет помимо таблиц БД использовать операторы SQL, чтобы выделить подмножество записей, удовлетворяющих некоторым условиям. Это позволяет создавать программные элемента dynaset или snapshop.

Ввод следующий фраз:

Select - отбор информации из полей.

From - указывает имя таблицы.

Where - определяет условия выборки.

Group By - для распределения выбранных записей в определенные группы.

Having - определяет условие, которому должна удовлетворять следующая группа записей.

Order By - порядок сортировки выбранных записей.

Например.

Data1.RecordSource = “Select Name, Address  From AdressBook ...

Data1.RecordSource = “Select Name, Address  From AdressBook

Data1.RecordSource = “Select Name, Address  From AdressBook Where Name = ‘Иванов’‘’

“ . . . .  Like ‘’Иван” (Ивасев, Иваницкий, Иванченко...)

Select Employers.Dept, M\Name From Supervisors, Employers Where Employers.Dept = Supervisiors.Dept

Можно использовать переменные

Data1.RecordSource = “Select * From Telephone Where Name = ‘ “& A &”’”

Text1.Text

В фразе Where можно использовать конечные операции And, Or, Not для соединения нескольких выражений или операции сравнения <, <=, >, >=, <>, Between, Like, In (для записей в БД)

Например

Data1.RecordSource = “Select * From Products

Where Tovar in (Select Tovar From_ Details Where Price>=25)”

Помимо запросов SQL можно изменять (Update, Set - новое значение Where), добавлять (Insert into), удалять (Delete From) записи в таблице.

Например

Dim A  As String

A = “Update Orders”

A = A + “Set Amount = Amount * 1.1, Cast = Cast * 0.97”

A = A+ ”Where Order = ‘Цемент’”

Data1.Database.Execute ... Query  - запрос с воздействием

Свойство Value

Можно ссылаться на некоторое поле текущей записи, даже если на форме нет связанного элемента.

Например

Sub

Dim A As String

A = Data1.RecordSet.Fields(“Name”).Value

MsgBox “Фамилия: ” + A

End Sub


Объектная модель DAO

Объектная модель DAO - объектно - ориентированный интерфейс процессора БД Jet . Это иерархия классов, которые являются логическим представлением реляционной модели базы данных. [AAnA1] Эти классы используются для создания объектов доступа к данным, обращающихся к конкретной  базе данных.

  DBEngine[AAnA2]


 

      Workspace


                Database

Страницы: 1, 2, 3, 4, 5, 6, 7, 8


Новости

Быстрый поиск

Группа вКонтакте: новости

Пока нет

Новости в Twitter и Facebook

  скачать рефераты              скачать рефераты

Новости

скачать рефераты

© 2010.