VERIFICAR TABELAS E FIELDS OU CRIA-LOS
Nos últimos tempos eu fiz muitas alterações em um sistema genérico q criei a alguns anos, estas modificações incluem novos campos e tabelas, e também, alteração do tipo de dados, como de texto para data, e de tamanho como 20 para 25.
Agora o q estou precissando é fazer uma comparação na base de dados antiga (MDB), para verificar se todos os campos correspondam, ou seja: existam e caso contrário seja criado, e também se o tipo e tamanho corresponda com o novo, e caso contrário seja feita a alteração.
Eu fazia este trabalho manualmente, mas tenho 32 tabelas, e geralmente esquecia de algum detalhe. Agora mudei o programa utilizando instruções SQL através do DAO 2.5.
Agora o q estou precissando é fazer uma comparação na base de dados antiga (MDB), para verificar se todos os campos correspondam, ou seja: existam e caso contrário seja criado, e também se o tipo e tamanho corresponda com o novo, e caso contrário seja feita a alteração.
Eu fazia este trabalho manualmente, mas tenho 32 tabelas, e geralmente esquecia de algum detalhe. Agora mudei o programa utilizando instruções SQL através do DAO 2.5.
Ps: Sei que é fora do assunto que perguntou mas...
Afinal qual é a forma mais rápida de acessar um banco de dados : DAO ou ADO ?
A pergunta é um tanto melindrosa , pois muitos fatores que estão envolvidos não foram definidos.
De forma geral para acessar uma base de dados Access em um computador de mesa ( desktop ) ou mesmo em um ambiente multiusuário a DAO é mais rápido que a ADO . Eu disse em geral pois tudo vai depender do ambiente : a configuração da máquina , a desenho da aplicação , etc...
Então , se você esta fazendo um pequeno programa para uma máquina local ou uma rede com até 20 usuários, e não sabe se usa DAO ou ADO. Se a questão for rapidez escolha a DAO. Com a ADO a informação vai para o Jet que a processa e retorna para a ADO que a repassa para você. Usando a DAO a camada ADO (OLE DB) é removida tornando assim o processo mais rápido. Sem contar que o tamanho do seu aplicativo vai aumentar por conta da MDAC que você terá que distribuir junto com seus discos de instalação.
Se ao invés de resolver o seu problema eu acabei de bagunçar a sua cabeça , calma !!! Eu ainda não teminei...
A ADO é ideal para um ambiente Cliente/Servidor com acesso simultà ¢neo de grande proporções. Neste caso nem pense em usar DAO , muito menos o Access , como base de dados.( ADO Data Control ? não me faça rir...). Nestes casos você deve usar um banco de dados mais potente : SQL Server , Oracle , Sybase , Informix , DB2 , etc...
Nestas situações a ADO é quase imbatÃvel se comparada com a DAO além do que com a ADO sua aplicação se torna mais escalável e portátil ( se você usar SQL , procedimentos armazenados, etc...)
Resumindo:
- Aplicações locais ( monousuárias ) ou para ambiente multiusuário ( de 20 a 30 usuários concorrentes) -> DAO
- Aplicações Cliente/Servidor com acesso concorrente de mais de 30 usuários -> ADO
(Site macoratti)
Para mais informações, saber como migrar DAO P/ ADO e etc.
Visite Migrando aplicações DAO/ADO
Afinal qual é a forma mais rápida de acessar um banco de dados : DAO ou ADO ?
A pergunta é um tanto melindrosa , pois muitos fatores que estão envolvidos não foram definidos.
De forma geral para acessar uma base de dados Access em um computador de mesa ( desktop ) ou mesmo em um ambiente multiusuário a DAO é mais rápido que a ADO . Eu disse em geral pois tudo vai depender do ambiente : a configuração da máquina , a desenho da aplicação , etc...
Então , se você esta fazendo um pequeno programa para uma máquina local ou uma rede com até 20 usuários, e não sabe se usa DAO ou ADO. Se a questão for rapidez escolha a DAO. Com a ADO a informação vai para o Jet que a processa e retorna para a ADO que a repassa para você. Usando a DAO a camada ADO (OLE DB) é removida tornando assim o processo mais rápido. Sem contar que o tamanho do seu aplicativo vai aumentar por conta da MDAC que você terá que distribuir junto com seus discos de instalação.
Se ao invés de resolver o seu problema eu acabei de bagunçar a sua cabeça , calma !!! Eu ainda não teminei...
A ADO é ideal para um ambiente Cliente/Servidor com acesso simultà ¢neo de grande proporções. Neste caso nem pense em usar DAO , muito menos o Access , como base de dados.( ADO Data Control ? não me faça rir...). Nestes casos você deve usar um banco de dados mais potente : SQL Server , Oracle , Sybase , Informix , DB2 , etc...
Nestas situações a ADO é quase imbatÃvel se comparada com a DAO além do que com a ADO sua aplicação se torna mais escalável e portátil ( se você usar SQL , procedimentos armazenados, etc...)
Resumindo:
- Aplicações locais ( monousuárias ) ou para ambiente multiusuário ( de 20 a 30 usuários concorrentes) -> DAO
- Aplicações Cliente/Servidor com acesso concorrente de mais de 30 usuários -> ADO
(Site macoratti)
Para mais informações, saber como migrar DAO P/ ADO e etc.
Visite Migrando aplicações DAO/ADO
Ae irmão, vê se esse exemplo em ADO te ajuda.
http://www.vbmania.com.br/vbmdetail.php?varID=1400
http://www.vbmania.com.br/vbmdetail.php?varID=1400
Tópico encerrado , respostas não são mais permitidas