| Exibir mensagem anterior :: Exibir próxima mensagem |
| Autor |
Mensagem |
rfconline Novato

Registrado: Quinta-Feira, 20 de Setembro de 2012 Mensagens: 7
|
Enviada: Seg Dez 17, 2012 7:50 pm Assunto: Criar Ini com o componente ado |
|
|
Olá pessoal,
Tenho uma pergunta... Como posso criar um arquivo .ini com o componente ado (que conecta o banco de dados access com o delph)i?
desde já agradeço. |
|
| Voltar ao Topo |
|
 |
Batera Colaborador


Registrado: Quarta-Feira, 23 de Julho de 2008 Mensagens: 4899 Localização: Maringá
|
Enviada: Seg Dez 17, 2012 9:52 pm Assunto: |
|
|
Bom, vamos lá...
Aqui tem um pequeno tutorial de como trabalhar com arquivos INI:
http://www.subrotina.com.br/delphi-trabalhando-com-arquivos-ini/
Basta então gravar o valor da propriedade ConnectionString do componente ADOConnection em um arquivo INI, e depois ler esse valor quando a aplicação é inicializada.
Exemplo do arquivo INI:
| Código: | [Configuracao]
StringConexao=Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\Aplicativo\BancoDados.mdb;Persist Security Info=False; |
Para gravar este valor use o método WriteString, e para ler use o ReadString.
Para conectar o banco de dados, por exemplo, você poderia fazer da seguinte forma:
| Código: | ADOConnection1.ConnectionString := ArquivoINI.ReadString('Configuracao', 'StringConexao', '');
try
ADOConnection1.Connected := True;
except
ShowMessage('A string de conexão é inválida.');
end; |
Espero que te ajude! |
|
| Voltar ao Topo |
|
 |
rfconline Novato

Registrado: Quinta-Feira, 20 de Setembro de 2012 Mensagens: 7
|
Enviada: Sex Dez 21, 2012 10:57 pm Assunto: |
|
|
Pessoal consegui...
da forma que o batera ensino deu certo...
tambem fiz assim...
criei um arquivo ini com:
[CONEXAO]
BANCO=caminhodobanco
no delphi no datamodule no evento oncreate fiz assim:
var
banco: string;
arqIni : TiniFile;
begin
ado_banco.Connected := False;
arqIni := Tinifile.Create('C:\Banco.ini'); // Caminho do arquivo.
banco := arqIni.ReadString('CONEXAO', 'BANCO', '');
ado_banco.ConnectionString :=banco; // Aqui você monta a string que você gerou anteriormente
try
ado_banco.Connected := true;
except
end;
end;
batera sua ajuda foi muito grande.. valeu... o tutorial principalmente.
obrigado a todos. |
|
| Voltar ao Topo |
|
 |
felipekk Colaborador


Registrado: Quinta-Feira, 5 de Janeiro de 2012 Mensagens: 1531 Localização: Pirapora - MG
|
Enviada: Sex Dez 21, 2012 11:04 pm Assunto: |
|
|
No meu caso aqui eu criei essa procedure: | Código: | procedure ConectarBanco;
begin
//
if FileExists('C:\Cimples\Padaria\Fontes\config.ini') then
begin
Dados := TIniFile.Create('C:\Cimples\Padaria\Fontes\config.ini');
//Edit1.Text := Dados.ReadString('DADOS', 'DATABASE_NAME', '');
Data.ADO_BANCO.Connected := False;
Data.ADO_BANCO.ConnectionString :=
'Provider=Microsoft.Jet.OLEDB.4.0;'
+'User ID=Admin;Data '
+'Source=' + Dados.ReadString('DADOS', 'DATABASE_NAME', '') + ';'
+'Mode=Share Deny None;'
+'Extended Properties="";'
+'Jet OLEDB:System database="";'
+'Jet OLEDB:Registry Path="";'
+'Jet OLEDB:Database Password="";'
+'Jet OLEDB:Engine Type=5;'
+'Jet OLEDB:Database Locking Mode=1;'
+'Jet OLEDB:Global Partial Bulk Ops=2;'
+'Jet OLEDB:Global Bulk Transactions=1;'
+'Jet OLEDB:New Database Password="";'
+'Jet OLEDB:Create System Database=False;'
+'Jet OLEDB:Encrypt Database=False;'
+'Jet OLEDB:Don'+chr(39)+'t Copy Locale on Compact=False;'
+'Jet OLEDB:Compact Without Replica Repair=False;'
+'Jet OLEDB:SFP=False';
Data.ADO_CAD_PRODUTO.Active := true;
Data.ADO_CAD_CLIENTE.Active := true;
Data.ADO_CAD_PRODUTO.Active := true;
Data.ADO_CAD_SETOR.Active := true;
Data.ADO_CAD_GRUPO.Active := true;
Data.ADO_CAD_PAGAMENTO.Active := true;
Data.ADO_PEDIDO_DADOS.Active := true;
Data.ADO_PEDIDO_ITENS.Active := true;
Data.ADO_ARQ_PEDIDO_DADOS.Active := true;
Data.ADO_ARQ_PEDIDO_ITENS.Active := true;
Data.ADO_AUX_PEDIDO_ITENS.Active := true;
Data.ADO_PEDIDO_ITENS_BOLO.Active := true;
Data.ADO_CAIXA.Active := true;
Data.ADO_CAD_PRODUCAO.Active := true;
Data.ADO_CAD_VASILHAS.Active := true;
Data.ADO_EMP_VASILHAS.Active := true;
Data.ADO_VENDA_PRAZO.Active := true;
Data.ADO_OS_DADOS.Active := true;
Data.ADO_OS_ITENS.Active := true;
Dados.Free;
end;
//
end; | Meio longo mais funcionou.
Acho que poderia diminuir muito o codigo, mais por enquanto esta me atendendo. _________________ "Esteja ligado em melhora contínua: hoje melhor do que ontem e pior do que amanhã."
 |
|
| Voltar ao Topo |
|
 |
|