GARANTIR DESCONTO

Fórum Campos Blobs #345886

12/09/2007

0

Estou desenvolvendo um pequeno sistema de dicas em Firebird/dbExpress onde consta de 2 tabelas (Master/Detail) descritas abaixo:


Tabela: EQUIP

NOMETIPONÃO NULO

COD_EQUIPINTEGERNOT NULL
DESCRICAOVARCHAR(50)


Tabela: DETEQUIP

NOMETIPONÃO NULO

COD_DETEQUIPINTEGERNOT NULL
COD_EQUIPINTEGER
MARCAVARCHAR(20)
MODELOVARCHAR(25)
SINTOMAVARCHAR(255)
SOLUCAOBLOB SUB_TYPE 1 SEGMENT SIZE 4096
OBSERVAÇÃOBLOB SUB_TYPE 1 SEGMENT SIZE 4096
FONTEVARCHAR(50)
ESQUEMAVARCHAR(255)

DBExpress

qryEQUIP = TSQLDataset
qryEQUIP.CommandText:= SELECT * FROM EQUIP WHERE COD_EQUIP= :COD_EQUIP

dspEQUIP = TDataSetprovider
dspEQUIP.DataSet:= qryEQUIP
dspEQUIP.Options:= [poFetchBlobsOnDemand]
dspEQUIP.UpdateMode:= upWhereKeyOnly

qryDETEQUIP = TSQLDataSet
qryDETEQUIP.CommandText:= SELECT * FROM DETEQUIP WHERE COD_EQUIP = :COD_EQUIP
qryDETEQUIP.DataSource:=dsEQUIP

dsEQUIP = TDataSource
dsEQUIP.DataSet:=qryEQUIP

Na tela de Cadastro possuo um botão para consultar a dicas, com o seguinte código:

if fmProcurarDicas.ShowModal=mrOk then
begin
cdsEQUIP.Open;
cdsDETEQUIP.Locate(´COD_EQUIP;COD_DETEQUIP´,
VarArrayOf([dsEQUIP.DataSet.FieldByName(´COD_EQUIP´).AsString,
sdtProcurarDICASCOD_DETEQUIP.AsString]),[]);
end;

O problema é que a consulta está demorando muito para trazer a cache, devido aos campos BLOBs. Habilitei a opção “poFetchBlobsOnDemand” do DataSetProvider e a consulta se tornou mais rápida, mas não consigo exibir esses campos em um controle DataWare (DBMemo)


Mauvin

Mauvin

Responder

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar