[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