Abrindo Base de dados.
Veremos como abrir e fechar uma base de dados padrão Microsoft JET ( access ) , usaremos como exemplo a Biblio.mdb.
Abrindo a base de dados em modo compartilhado
DAO
Dim db as
DAO.Database Dim db = DBEngine.OpenDatabase ("c:\Biblio.mdb" ) ............... fechando a base db.close |
ADO
Dim cnn As new ADODB.Connection cnn.Open "Provider = Microsoft.Jet.OLEDB.3.51;Data Source = C:\Biblio.mdb;" ..................fechando a base cnn.Close |
A novidade aqui fica por conta da string Connection
, ela neste exemplo tem duas partes: o descritor Provider
que indica qual provedor OLE DB estamos usando e
o descritor Source que indica qual base
de dados abrir. No código usando a DAO fica implícito que a base de dados é uma base de dados Microsoft JET , mas com a ADO temos que especificar que queremos abrir uma base de dados Microsoft Jet. |
Abrindo a base de dados em modo exclusivo e somente para leitura
DAO
Dim db as
DAO.Database Dim db = DBEngine.OpenDatabase ("c:\Biblio.mdb , False , True) ............... fechando a base db.close |
ADO
Dim cnn As new ADODB.Connection cnn.Mode = adModeRead cnn.Open "Provider = Microsoft.Jet.OLEDB.3.51;Data Source = C:\Biblio.mdb;" ..................fechando a base cnn.Close |
Aqui a propriedade Mode do objeto Connection foi definida usando a constante adModeRead como somente para leitura. |
Poderiamos ter escrito o código em uma única linha :
Dim cnn As new ADODB.Connection cnn.Open "Provider=Microsoft.Jet.OLEDB.3.51;" & _ "Data Source=C:\nwind.mdb;Mode=" & adModeRead ..................fechando a base cnn.Close |
Aqui a propriedade Mode foi escrita
como parte da string Connection para o
método Open e não como uma propriedade
do objeto Connection. Na ADO você pode definir as propriedades do objeto Connection também como fazendo parte de uma string de conexão. |
Abrindo a base de dados protegida com uma senha
DAO
Dim db as
DAO.Database Dim db = DBEngine.OpenDatabase ("c:\Biblio.mdb , False , False, _ ";pwd = senha ") ............... fechando a base db.close |
ADO
Dim cnn As new ADODB.Connection cnn.Open "Provider=Microsoft.Jet.OLEDB.3.51;" & _ "Data Source=C:\biblio.mdb;Jet OLEDB:Database Password=password;" ..................fechando a base cnn.Close |
A propriedade Jet OLEDB:Database Password define a senha da base de dados |
Abrindo a base de dados protegida com uma senha a nível de usuário.
Abrindo uma base de dados que usa o arquivo de
informação de grupo de trabalho : sysdb.mdw. DAO
ADO
|
Acessando base de dados externas
Vejamos como acessar uma planilha do Excel (c:\teste.xls) .. Podemos acessar praticamente qualquer fonte de dados usando os drivers ISAM.
DAO
Dim db As
DAO.Database Set db = DBEngine.OpenDatabase("C:\Teste.xls", False, False, "Excel 8.0;") ................... db.Close |
ADO
Dim cnn As
New ADODB.Connection cnn.Open "Provider=Microsoft.Jet.OLEDB.3.51;" & _ "Data Source=C:\Sales.xls;Extended Properties=Excel 8.0;" ........................... cnn.Close |
O tipo da fonte de dados é especificada na propriedade Extended Properties do objeto Connection . |
Vejamos a seguir uma tabela com as strings para especificar a base externa ISAM que se deseja abrir: |
Database | String |
dBASE III | dBASE III; |
dBASE IV | dBASE IV; |
dBASE 5 | dBASE 5.0; |
Paradox 3.x | Paradox 3.x; |
Paradox 4.x | Paradox 4.x; |
Paradox 5.x | Paradox 5.x; |
Excel 3.0 | Excel 3.0; |
Excel 4.0 | Excel 4.0; |
Excel 5.0/Excel 95 | Excel 5.0; |
Excel 97 | Excel 97; |
Excel 2000 | Excel 8.0; |
HTML Import | HTML Import; |
HTML Export | HTML Export; |
Text | Text; |
ODBC | ODBC; DATABASE=database; UID=user; PWD=password; DSN=datasourcename; |
retorna