Objetos Relacionados a um banco de dados 1 Introdução • Visual Basic dispõe de um conjunto de objetos, que através de suas propriedades e métodos, nos permitirão manipular e controlar um banco de dados. Estes objetos são : database, dynaset, snapshot, field, fields collection, index, indexes, querydef, snapshot, table, tabledef e tabledefs collection. 2 Coleção DataBases • Databases Collection é um conjunto de objetos Database abertos em um Workspace. 3 Objeto DataBase • O objeto DataBase mantém informações sobre o banco de dados aberto ( a propriedade TableDefs do objeto DataBase possui todas as informações sobre as tabelas de um banco de dados ), sendo a representação lógica de um banco de dados no Visual Basic. • Assim como qualquer objeto, o DataBase possui propriedades e métodos, através dos quais se pode manipular seus dados. 4 Objeto DataBase • Para abrir uma banco de dados, usa-se a função OpenDataBase. Para fechar um banco de dados utiliza-se o método Close. • Uma das principais propriedades desse objeto é a TableDefs Collection, que compreende a uma coleção de objetos TableDef, que correspondem a a tabelas do banco de dados. 5 Coleção Databases 6 Objeto Database 7 Coleção TableDefs • TableDefs Collection é um conjunto de objetos TableDef , isto é, das tabelas do banco de dados. Sua propriedade Count retorna o número de tabelas do banco de dados. • O objeto TableDef de um banco de dados define a estrutura de uma tabela, contendo : – Fields Collection, que armazena a estrutura dos campos da tabela – Indexes Collection, que armazenao conjunto de índices associados àquela tabela. 8 Coleção TableDefs 9 Objeto TableDef 10 Propriedades do Objeto Tabledef 11 Coleção Containers • Containers Collection é um conjunto de objetos Container. Cada objeto Container contém uma Documents Collection. Documents Collection é um conjunto de objetos Document. Cada objeto Document contém informações sobre uma tabela, consulta ou relação abertos. 12 Coleção Containers 13 Objeto Container e sua Propriedades 14 Coleção QueryDefs • QueryDefs Collection é um conjunto de objetos QueryDef. Cada objeto QueryDef contém a definição de uma consulta de um banco de dados. 15 Coleção QueryDefs 16 Objeto QueryDef e suas propriedades 17 Coleção Recordsets • RecorSets Collection é um conjunto de objetos RecordSet , isto é, dos cursores do banco de dados. • O objeto RecordSet representa os registros de uma tabela de base de um banco de dados ou os registros resultado de uma consulta, contendo : – Fields Collection, que armazena a estrutura dos campos do Recordset 18 Coleção RecordSets 19 Objeto Recordset 20 Coleção Relations • Relations Collection é um conjunto de objetos Relation , isto é, dos relacionamentos do banco de dados. 21 Coleção Relations 22 Objeto Relation e suas propriedades 23 Coleção Fields 24 Objeto Field 25 Propriedades do Objeto Field 26 Coleção Indexes • Indexes Collection é um conjunto de objetos Index de um banco de dados. 27 Coleção Indexes 28 Objeto Index 29 Propriedades do Objeto Index 30 Objetos Table, Dynaset, Snapshot • Os recordsets que representam a tabela do banco de dados podem ser dos tipos table, dynaset e snapshot. Estes tipos possuem finalidades diferentes. Os Objetos Table, Dynaset, Snapshot são considerados “obsoletos” pela Microsoft devendo ser substituídos pelo Objeto RecordSet. 31 Objeto Table • Table é a representação lógica da tabela física do banco de dados. Através do objeto Table pode-se acessar os dados que estão dentro dela, adicionar, modificar e excluir registros 32 Objeto Dynaset • Através do objeto Dynaset, pode-se ler dados de uma ou mais tabelas, entretanto, estes dados somente poderão ser alterados se o dynaset estiver baseado em uma única tabela. 33 Objeto Snapshot • SnapShot é um instantâneo de uma tabela em um determinado momento. Através dele, pode-se ver o conteúdo de uma tabela, porém não é possível altera-lo. Além disso quaisquer alterações feitas sobre a tabela não serão exibidas pelo snapshot. 34 Abertura de Tables • Para a abertura de tables, utiliza-se o método OpenTable sobre o objeto database, sendo necessário criar anteriormente uma variável do tipo Table. 35 Exemplo de abertura de Table Dim DB As Database Dim Tabela As Table Set DB = OpenDatabase("BIBLIO.MDB") Set Tabela = DB.OpenTable("Publishers") 36 Criação de Dynasets • Para a abertura de dynasets, utiliza-se o método CreateDynaset sobre o objeto database, sendo necessário criar anteriormente uma variável do tipo Dynaset. • A abertura de um dynaset pode ser feita baseada em um comando SQL, ou baseada na estrutura de uma tabela. 37 Exemplo de criação de dynaset Dim DB As Database Dim DS As Dynaset Set DB = OpenDatabase("BIBLIO.MDB") Set DS = DB.CreateDynaset("Publishers") Dim Dim Set Set DB DS DB DS As Database As Dynaset = OpenDatabase("BIBLIO.MDB") = DB.CreateDynaset("Select * from Publishers") 38 Criação de SnapShots • Para a abertura de snapshot, utiliza-se o método CreateSnapShot sobre o objeto database,sendo necessário criar anteriormente uma variável do tipo SnapShot. • A abertura de um snapshot, tal como a dos dynasets, pode ser feita baseada em um comando SQL, ou baseada na estrutura de uma tabela. 39 Exemplo de criação de snapshot Dim Dim Set Set DB SS DB SS As Database As Snapshot = OpenDatabase("BIBLIO.MDB") = DB.CreateSnapshot("Publishers") Dim Dim Set Set DB SS DB SS As Database As Snapshot = OpenDatabase("BIBLIO.MDB") = DB.CreateSnapshot("Select * from Publishers") 40 41