TixaB
-
Posts
2 -
Cadastrado em
-
Última visita
Tipo de conteúdo
Artigos
Selos
Fabricantes
Livros
Cursos
Análises
Fórum
posts postados por TixaB
-
-
Tenho duas tabelas em DBF. TDados e TItens.TDados tem +/- 120.000 itensTItens tem +/- 300.000 itensFiz a conversão (rotina propria) DBF para FDB.a Tabela TItens esta relacionada a Tabela TDados.no Clipper abria as duas tabelas bem rápido, noFirebird esta demorando bastante (bem mais demorado que noDBF).Ex.:
// firebird - esta rotina demora bastante.
with DMArq do
begin
zqTrans.SQL.Clear;
zqTrans.SQL.Add('Select MAX(PedNum) as ULTIMO From Dados');
zqTrans.Open; // aqui demora bastante................
sCodigo := zqTrans.FieldByName('Ultimo').asString;
try
sCodigo := FormatFloat('000000000000000', StrToFloat(sCodigo) + 1);
except
sCodigo := '1';
end;
end;
// dbf - esta rotina é bem rapida
with DMArqSce.qItemCod do
begin
Close;
DataBaseName := Drive_IniR + '\Sistema\Estoque\' + Nr_Ite;
Sql.Clear;
Sql.Add('Select PedNum from TDados order by PedNum');
Open;
Last;
sCod := FieldByName('IteCod').asString;
sCod := Copy(FormatFloat('0000000000', StF(sCod)), 1, 8);
cCod := StrToFloat(sCod);
OCpf := IntToStr(Trunc(ccod) + 1);
CodBar := FormatFloat('00000000', cCod + 1);
ocpf := IntToStr(StrToInt(Calc_dig(OCpf)));
result := oCpf; // qItemCod.FieldByName('IteCod').asString;
Close;
end;Assim todas as consultas (abrindo toda a tabela - Open) como filtros, no firebird, são bem mais demorados que no DBF.Isto é normal?o Firebird não deveria ser mais rápido que o DBF?o que eu posso fazer para melhorar o Desempenho?
Sobre o Clube do Hardware
No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais
Direitos autorais
Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais
erro clientdataset delphi xe8
em Programação - outros
Postado
Fiz um sistema no Delphi XE8, que utiliza o ClientDataSet. No meu computador roda Ok.
Quando instalo em outro computador, da o seguinte erro:
Access violation at address 0080635B in module 'AutomacaoC.exe'. Read of address 00000000,
quando executa o seguinte comando:
cdsForm.CreateDataSet;
cdsForm.EmptyDataSet;
cdsForm.Open;
Alguem pode me ajudar?