[firebase-br] DELPHI 7 X FIREBIRD 1.5 X DBEXPRESS - off topic
Antonio Carlos
a.lima.silva em terra.com.br
Seg Abr 18 14:19:18 -03 2005
Uê ??? Que eu saiba o Firebird ao receber uma consulta SQL e escolhe sozinho
o indice de busca, inclusive se nao me engano, a desempenho dele acaba
ficando comprometido de escolhemos incorretamente os indices.
Nao entendo o porque de vc querer 'escolher' os indices, isso era algo que
se fazia com bancos como XBase, Paradox , de sistema de arquivos.
Antonio Carlos
----- Original Message -----
From: "Rodrigo - Alma Informática Ltda" <desenv28 em almainformatica.com.br>
To: "FireBase" <lista em firebase.com.br>; "Carlos H. Cantu"
<listas em warmboot.com.br>; "Pha-Lista" <lista em pha.com.br>
Sent: Monday, April 18, 2005 11:11 AM
Subject: [firebase-br] DELPHI 7 X FIREBIRD 1.5 X DBEXPRESS - off topic
> Amigos,
>
> Estou desenvolvendo uma rotina no delphi para pegar automaticamente pra
> mim
> os nomes dos índice e jogar num radiogrup num formulário para que o
> usuário
> selecione por qual ordenação ele deseja fazer, desde pesquisa ate
> relatórios.
>
> Só que chega num determinado ponto da rotina a mesma da o seguinte erro :
>
> tbquery : índice de campo fora de faixa
>
> o código e este abaixo :
>
>
> procedure TForm1.FormShow(Sender: TObject);
> var
> Counter, AtualFld, CountFld : Integer;
> FldIndex : String;
> begin
>
> with tbQuery do
> begin
>
> if (IndexNames <> Nil) and (IndexNames.Count > 0) then
> begin
> CountFld := IndexNames.Count;
> end
> else
> begin
> IndexDefs.Update;
> CountFld := Min(4, IndexDefs.Count);
> end;
>
> TypeIndex := IndexFieldNames <> '';
>
> SaveBookMark := GetBookMark;
>
> if TypeIndex then
> OldIndex := IndexFieldNames
> else
> OldIndex := IndexName;
>
> for Counter := 0 to CountFld-1 do
> begin
>
> tbquery.Active := false;
>
> if (IndexNames <> Nil) and (IndexNames.Count > 0) then
> IndexName := IndexNames[Counter]
> else
> IndexName := IndexDefs[Counter].Name;
>
> { Get Field's Index }
> if Counter < 9 then
> FldIndex := '&' + IntToStr(Counter+1) + '. '
> else
> FldIndex := '&' + chr(90 + (9 - Counter)) + '. ';
>
> AtualFld := 0;
>
>
> tbquery.Active := true;
>
> o erro da aqui nesta linha de comando
> //
> if ((IndexFields[AtualFld].FieldName = 'FAZENDA') and
> (tbQuery.Name <> 'TBFAZENDA') and (tbQuery.Name <>
> 'TBCRIADOR')) or
> (IndexFields[AtualFld].FieldName = 'FAZENDADOADORA') then
> Inc(AtualFld);
> //
>
> FldIndex := FldIndex + IndexFields[AtualFld].DisplayName; //
> DisplayLabel;
>
> rgOrder.Items.Add(FldIndex);
>
> end;
>
> rgOrder.ItemIndex := 0;
>
> tbquery.Active := false;
>
> if TypeIndex then
> IndexFieldNames := OldIndex
> else
> IndexName := OldIndex;
>
> { Abre por Default na Segunda Chave - Geralmente de Descricao }
> if CountFld > 1 then
> begin
> rgOrder.ItemIndex := 1;
> if IndexNames <> nil then
> IndexName := IndexNames[1]
> else
> IndexName := IndexDefs[1].Name;
> end;
>
> tbquery.Active := true;
>
> MasterSource := MasterSource;
> end;
>
> end;
>
>
> obs : estou utilizando componentes dbexpress
>
> Se alguém puder me ajudar ficarei grato.
>
> Abraço a todos,
>
>
> Rodrigo
> ______________________________________________
> 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://search.gmane.org/search.php?group=rebase
>
>
>
> ______________________________________________
> 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://search.gmane.org/search.php?group=firebase
>
>
Mais detalhes sobre a lista de discussão lista