Você está na página 1de 2

FONTE:http://www.rau-tu.unicamp.br/linguagens/read.php?tid=10&qid=3781&key= ADOconnection perguntada por Joo <joca_pa@terra.com.

br> em 03/08/2004 15:27 Por favor gostaria de saber como criar um codigo para colocar no ini de meu sist ema uso o delphi 5 e gostaria de saber como fazer para que o componente que uso para conectar ao banco de dados sql 7 sever, que o ADOConection, reconhecer um n ovo HOST, pois nele necessario informar o nome do HOST onde esta o banco de dado s, mas se instalar o sistema em outro computador como fazer para que reconhea o n ovo computador? Se tem como implementar um arquivo de inicializao para identificao a travs de um arquivo .ini, de tal forma que eu possa mudar o novo host atraves des se arquivo, pois as propriedades do componente s posso mudar em tempo de programao? Se tem como fazer para implementar o arquivo?Onde coloca-lo?E seus comandos ou f onte?OBrigado.

A maioria dos programas que trabalha com modelos cliente/servidor perguntam o ca minho do banco no momento da instalao. Voc tambm pode verificar se existe um arquivo banco.ini por exemplo. Se o arquivo no existir, voc exibir a tela perguntado o cam inho. No ADOConnection, voc deve inserir as informaes do Host na propriedade ConnectionSt ring. O ConnectionString um TStringList que contm vrias informaes como Provedor de d ados, Origem dos dados, usurio, senha etc. O ConnectionString ser basicamente uma constante. A nica informao varivel ser realmente a Origem dos dados. Voc alterar este alor em tempo de execuo. Para pegar o valor da sua string, crie uma conexo e copie o contedo da ConnectionString. Assim seu cdigo ficar desta maneira: ADOConnection1.ConnectionString="sua connectionstring;param1;param2"; ADOConnection1.LoginPrompt = False; ADOConnection1.Connected = true; Obs: No deixe o usurio entrar no programa enquanto a conexo no estiver correta; A Microsoft no recomenda que voc utilize o .ini. melhor voc gravar as informaes no re gistro do Windows. Links Trabalhando com .ini: http://delphi.about.com/library/weekly/aa120401a.htm Trabalhando com o registro: http://delphi.about.com/library/weekly/aa011299.htm []s, Narumi Ab As informaes acima me foram passadas e agradeo muito a ajuda, mas tenho duvidas ain da, por favor eu sou iniciante e estou esforando para aprender, no entendi como cr iar a conexo para pegar o valor da string? em propriedades do ADO?Como gravar as i nformaes no registro do windows?As linhas de cdigo acima so colocadas onde? Nas prop riedades mesmo?Obrigado

@#***#@respondida por rodfaria em 04/08/2004 00:08 Vou partir do pr suposto que sua aplicao j se conecta no banco de dados e a propriedade ConnectionString j est preenchida.

1-copie o contedo da sua ConnectionString 2-crie um arquivo texto e salve no diretrio da sua aplicao como "Config.ini" 3-dentro do arquivo digite: [CONFIG] Conexao=<cole sua connectionstring aqui> 4-Salve seu arquivo ini 5-No Delphi, na unit que acessa o banco de dados, faa assim: -insira "inifiles" na clusula uses -na rea private insira "ini:TInifile;" -no evento Create do form insira "ini:=TInifile.Create(ParamStr(0)+'\CONFIG.INI');" -no evento Destroy do form insira "ini.Destroy;" -antes de usar o banco de dados, insira "try AdoConnection1.ConnectionString:= ini.ReadString('CONFIG','Conexao',''); AdoConnection1.Connected:=true except ShowMessage('Erro conexo'); //faa alguma coisa aqui end;" (substitua AdoConnection1 pelo nome do seu componente TADOConnection) 6-Pronto. Quando mudar o servidor, basta editar o arquivo INI e substituir o trecho "Server=MyServer" pelo nome (ou ip) da estao desejada. Caso existam vrios servidores ou voc queira deixar que o prprio usurio escolha, faa o seguinte: - adicione um combobox no seu form contendo os nomes dos servidores - no seu arquivo INI troque o trecho "Server=MyServer" por "Server=#servidor#" (ex. Driver={SQL Server};Server=#servidor#; Database=MyDB;Uid=MyUser;Pwd=MyPass;) - no trecho de cdigo acima substitua "AdoConnection1.ConnectionString:=ini. ReadString('CONFIG','Conexao','');" por "temp:=ini.ReadString('CONFIG','Conexao',''); temp:=AnsiReplaceStr(temp,'#servidor#', combobox1.text); AdoConnection1.ConnectionString:=temp;" - adicione "strutils" na clusula uses (substitua combobox1 pelo nome do seu TCombobox e declare "temp" como uma variavel string) obs: Aqui h diversos exemplos de strings de conexo : http://www.connectionstrings.com/index.asp Rodolfo.

Você também pode gostar