[firebase-br] Base de Dados Firebird??? Ajuda
Eduardo Jedliczka
edujed em gmail.com
Qua Mar 29 11:27:41 -03 2006
Hum...
Bom, então (risos) você leu a mensagem até o fim... Legal...
Como demonstrou ter a "cabeça aberta", pois muitos usuários do QuantumGrid
não querem saber de "trocar ele por nada", podemos "encontrar" algumas
soluções.
Os componentes do IBO são drasticamente superiores aos Componentes que
acompanham o Delphi (por isto não são grátis), e o IB_Grid quando
configurado corretamente num IB_Query permite ordenar de forma crescente ou
decrescente ao "clicar" na coluna desejada.
Reparei que num daqueles selects que você postou você utiliza o "IN"...
saiba que este carinha aí é responsável por uma péssima performance.
Experimente reescrever o select com "Exists" ou "inner join" para melhorar o
desempenho mais ainda.
Agora quanto ao problema de não encontrar o dataset, o IBO precisa de um
IB_DataSet e ele não usa os DATASETs originais do Delphi.
======================
Eduardo Jedliczka
Membro do TeamFB - FireBase
Apucarana - PR
======================
----- Original Message -----
From: "Hugo Ricardo" <hdricard em gmail.com>
To: <lista em firebase.com.br>
Sent: Wednesday, March 29, 2006 8:46 AM
Subject: Re: [firebase-br] Base de Dados Firebird??? Ajuda
> 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
>
>
>
>
--------------------------------------------------------------------------------
______________________________________________
FireBase-BR (www.firebase.com.br) - Hospedado em www.bavs.com.br
Para editar sua configuração na lista, use o endereço
http://mail.firebase.com.br/mailman/listinfo/lista_firebase.com.br
Para consultar mensagens antigas: http://firebase.com.br/pesquisa
Mais detalhes sobre a lista de discussão lista