Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

ademilson Moreira

Mudar propriedade database

Recommended Posts

Como faço para mudar a propriedade database em tempo de execução?Tentei criar um arquivo ini e carrega-lo quando entro no sistema. Vi aqui no forum que era para deixar a propriedade database em branco e preenche-la em tempod e execução através do parametro.... porém quando deixo a propriedade em branco da mensagem de erro. Vou usar o mesmo executável para administrar vários bancos e em maquinas diferentes.

Compartilhar este post


Link para o post
Compartilhar em outros sites

No caso precisa passar o database que deverá se conectar antes mesmo de ter mandado dar um Connect ... possivelmente o erro tenha sido por esta questão... E qual a paleta de componentes que esta usando ?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Você pode fazer o seguinte, cria um arquivo digamos com o nome de conexao.ini dentro dele coloque isto:

 

[IBLocal]BlobSize=-1CommitRetain=FalseDatabase=CAMINHO_DO_SEU_BDDriverName=InterbaseErrorResourceFile=LocaleCode=0000Password=masterkeyRoleName=RoleNameServerCharSet=SQLDialect=1Interbase TransIsolation=ReadCommitedUser_Name=sysdbaWaitOnLocks=True
No seu projeto, pode ser no OnCreate do form principal, ou outro lugar, desde que seja antes de fazer a conexão com o banco, faz:

 

SQLConnection1.Connected:=False;SQLConnection1.LoadParamsFromIniFile(ExtractFileDir(Application.ExeName) + '\conexao.ini');SQLConnection1.Connected:=True;
No caso este arquivo conexao.ini basta estar no mesmo local do seu .exe, que ele vai ler as configurações e conectar com o seu BD

Compartilhar este post


Link para o post
Compartilhar em outros sites

beleza, fiz isto e deu certo porém eu tenho que deixar a propriedade database do componente com um caminho, (tipo caminho padrão), aí quando eu acesso o sistema ele muda a propriedade. Porém traz os dados do banco padrão.... aí eu tenho que dar refresh na tabela... assim ele atualiza.Vi aqui no fórum que tenho que deixar a propriedade database em branco.... assim quando eu entrar no sistema ele pega a que foi selecionada no arquino ini e da tudo certo. O problema é que quando eu deixo a propriedade em branco da erro no sistema

Compartilhar este post


Link para o post
Compartilhar em outros sites

No caso o erro que deve de estar dando é justamente por estar tentando efetuar a conexão sem ter uma BD informada, para fazer a troca com o sistema rodando, é necessário usar o .Refresh, ou o .Close e .Open para que as tabelas busquem os registros deste BD selecionado.

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.