170 likes | 282 Views
Дял: Управление на БД. Работа с БД във Visual Basic. 1. База данни. Определение- съвкупност от подредени данни, обединени в един файл; Релационен модел- във вид на таблици; Взаимоотношения между таблици: Първичен- еднозначно определя целия (запис) ред от таблицата;
E N D
Дял: Управление на БД Работа с БД във Visual Basic
1. База данни • Определение- съвкупност от подредени данни, обединени в един файл; • Релационен модел- във вид на таблици; • Взаимоотношения между таблици: • Първичен- еднозначно определя целия (запис) ред от таблицата; • Външен ключ- поле, което се свързва с първичния си ключ.
2. Начин за свързване с БД, благодарение на VB • Обект Data- осъществява връзка между приложението и БД. Свойства: • DatabaseName- се свързва с БД; • RecordSource- се свързва към конкретната таблица от БД; • Свойства на обекти, които могат да показват и модифицират БД; • DataSource- се свързва към обекта Data; • DataField- се свързва към поле от таблицата.
3. Използване на обвързани обекти за работа с БД • CheckBox- поле за отметки; • ComboBox- комбинирано поле; • Image- изображение; • Label- етикет; • ListBox- списъчно поле; • PictureBox- поле за картина; • TextBox- текстово поле.
4.Разглеждане на програмата Courses • Стартирайте файла Courses.vbp от папката Less13; • Разгледайте свойствата на обектите; • Тествайте програмата;
5. Използване на обекта Recordset • Свойството Recordset всъщност е обект, представляващ частта от БД, с която се работи в момента; • Предназначение- съдържа специални свойства и методи, даващи възможност за търсене, сортиране, добавяне и изтриване.
6. Търсене на данни в Students.mdb • Поставете бутон върху отворената форма; • Настройте следните свойства на обекта: • Caption- Find; • Name- cmdFind;
7. Напишете следния код на бутона prompt$ = "Enter the full (complete) course title." 'get string to be used in the ClassName field search SearchStr$ = InputBox(prompt$, "Course Search") datStudent.Recordset.Index = "ClassName" 'use ClassName datStudent.Recordset.Seek "=", SearchStr$ 'and search If datStudent.Recordset.NoMatch Then 'if no match datStudent.Recordset.MoveFirst 'go to first record End If
8. Използвани свойства на обекта Recordset • Index- дефинира полето от БД, в което ще се търси; • Seek- търси в полето на БД. Освен знака “=“, могат да се използват и “>, <, >=, <=”; • NoMatch- получава стойност True ако не намери съвпадение; • MoveFirst- превръща първия запис от Recordset в текущ;
9. Добавяне на записи към БД • Поставете бутон върху отворената форма; • Настройте следните свойства на обекта: • Caption- Add; • Name- cmdAdd;
10. Напишете следния код на бутона prompt$ = "Enter the new record, and then click the left arrow button." reply = MsgBox(prompt$, vbOKCancel, "Add Record") If reply = vbOK Then 'if the user clicks OK txtTitle.SetFocus 'move cursor to Title box datStudent.Recordset.AddNew 'and get new record End If
11. Използвани свойства на обекта Recordset • AddNew- добавя нов запис към съответното поле от БД; • Други интересни конструкции: • txtTitle.SetFocus- премества курсора в поле txtTitle; • vbOK- е отговор ok от MsgBox; • vbCancel- е отговор Cancel от MsgBox;
12. Изтриване на записи от БД • Поставете бутон върху отворената форма; • Настройте следните свойства на обекта: • Caption- Delete; • Name- cmdDelete;
13. Напишете следния код на бутона prompt$ = "Do you really want to delete this course?" reply = MsgBox(prompt$, vbOKCancel, "Delete Record") If reply = vbOK Then 'if the user clicks OK datStudent.Recordset.Delete 'delete current record datStudent.Recordset.MoveNext 'move to next record End If
14. Използвани свойства на обекта Recordset • Delete- изтрива запис от съответното поле на БД; • MoveNext- преминава на следващия запис;
15. Създаване на архивно копие на файл • Архивното копие защитава оригиналната база данни; • Конструкцията FileCopy: FileCopy sourcepath destinationpath, където sourcepath е името и пътя за достъп до файла, а destinationpath- името и пътя за достъп до файла, който искаме да създадем.
16. Напишете следния код към формата Private Sub Form_Load() prompt$ = _ "Would you like to create a backup copy of the database?" reply = MsgBox(prompt$, vbOKCancel, datStudent.DatabaseName) If reply = vbOK Then 'copy the database if user clicks OK FileNm$ = InputBox$ _ ("Enter the pathname for the backup copy.") If FileNm$ <> "" Then _ FileCopy datStudent.DatabaseName, FileNm$ End If End Sub