[firebase-br] Base de Dados Firebird??? Ajuda
Hugo Ricardo
hdricard em gmail.com
Qua Mar 29 08:46:44 -03 2006
Obrigado Eduardo!
Não foi com intensão que "fiz birra"... O meu objectivo é apreender e de
criar amigos e de no futuro poder ajudar as pessoas que como eu vão querer
apreender a utlizar Firebird!
Ok, penso que o problema se resumeria mesmo ao DevExpress QuantumGrid!!!
Testei a mesma aplicação simplesmente substituindo a Grid do QuantumGrid por
uma Grid normal do componente do Delphi 6 "DataControls" e o resultado foi
extraordinário... Uma aplicação completamente diferente a nivel de rapidez
com apenas uma grid diferente!!!
Só tenho a agradecer pela ajuda e apoio de todos os que tiveram paciência em
ajudar!
Mais umas duvidas:
- O melhor será utilizar os controls do IBObjects? u poderei utilizar os
controls por defeito do Delphi?
- Fiz alguns testes com a Grid do IBObjects, mas consegui ligar um
DataSource que tenho dentro de um DataModule com esta Grid? Só é possivel
ligar DataSource's que estejam no mesmo Form da Grid?
- Existe alguma Grid com as funcionalidades semelhantes à Grid do
QuantumGrid? Do tipo: ordenação por ordem Ascendente/Descendente? Pesquina
numa determinada coluna (para tal basta começar a escrever qq coisa e vamos
directamente para a linha da grid que contém o resultado "inserido")?
Deixo aqui o código que eu fiz para criar a conexão à Base de Dados do
"servidor" para possiveis comentários e ajuda em melhorar! O unico senão que
encontrei é o facto de ter que instalar sempre a Base de Dados no "servidor"
numa directoria "fixa":
procedure TDM.DataModuleCreate(Sender: TObject);
var
caminho, txt, s: string;
F: textfile;
begin
try
Socert.Connected := False;
caminho := ExtractFilePath(ParamStr(0));
txt := caminho + 'path.txt';
AssignFile(F, txt);
Reset(F);
Readln(F, S);
if (S <> '') then
begin
Socert.DatabaseName := S + ':C:\dB\SOCERT.GDB';
if (Socert.Connected = False) then
Socert.Connected := True;
end
else
begin
if (suiInputDialog1.ShowModal = mrOk) then // Mensagem em que pergunta
pelo nome/endereço do servidor)
begin
Socert.DatabaseName := suiInputDialog1.ValueText +
':C:\dB\SOCERT.GDB';
if (Socert.Connected = False) then
Socert.Connected := True;
Rewrite(F);
Writeln(F, suiInputDialog1.ValueText);
end
else
begin
F_Main.Close;
Exit;
end;
end;
CloseFile(F);
ClienteProduto.Open;
Clientes.Open;
except
Rewrite(F);
Writeln(F, '');
CloseFile(F);
suiMessageDialog1.ShowModal; // Mensagem de Erro
F_Main.Close;
end;
end;
OFF TOPIC:
- Já tinha criado um novo tópico para este assunto!
A minha aplicação Cliente/Servidor tem um campo foto (foto do cliente)! Na
Base de Dados apenas guardo o caminho para a foto. Se a aplicação estiver a
ser utilizada por um computador "cliente" em que este acede aos recursos do
computador "servidor", tais como, a Base de Dados e as fotos, a pasta onde
vão estar guardadas as fotos tem que estar partilhada!
- A duvida é se existe outra forma de anexar fotos (já li que não é nada boa
politica guarda as fotos directamente na Base de Dados... Simplificava-me em
muito!), ou se existe forma de no acto de instalação (InnoSetup/ISTool)
criar uma pasta e partilhá-la?
Mais uma vez um grande obrigado a todos os que me têm ajudado.
Cumprimentos
Hugo Ricardo
Mais detalhes sobre a lista de discussão lista