Tem algum problema com SQLQuery do DBExpress?
09/06/2008
0
Pessoal estou tentando fazer uma ligação mestre/detalhe e se eu ligar um sqlquery + dsprovider + clientdataset para fazer o detalhe aponta para este erro aqui
[b:68e38813f2]xsqlda index out of range[/b:68e38813f2]
Agora se eu usar o SQLDataSet + DSProvider + CDSDataSet funciona.
Tem alguma diferença entre um componente e o outro?
Estou usando Delphi 7 + DBExpress
[b:68e38813f2]xsqlda index out of range[/b:68e38813f2]
Agora se eu usar o SQLDataSet + DSProvider + CDSDataSet funciona.
Tem alguma diferença entre um componente e o outro?
Estou usando Delphi 7 + DBExpress
Adriano_servitec
Curtir tópico
+ 0
Responder
Posts
09/06/2008
Adriano_servitec
Outra duvida também diz a respeito de um programa meu multicamadas (´n-tier´)
Se eu fizer esta consulta la no servidor
Demora um pouco para trazer a busca, agora se eu fizer a mesma busca local se torna bem rápido.
Lembrando que esta tabela tambem é um mestre/detalhe ligado nas propriedades MasterSource - MasterFields e IndexFieldsName
Qual é o motivo desta demora?
O pior é que eu não entendi pq se eu fizer via SQL passando por parâmetros em vez de Mestre/Detalhe ligando as propriedades fica super rápido a consulta vindo lá do servidor
Será que em sistemas multicamadas não é aconselhável usar as propriedades
[b:247b936314]MasterSource - MasterFields e IndexFieldsName [/b:247b936314]
Se eu fizer esta consulta la no servidor
with cdsAltDEAR do begin Close; Params[0].AsString := maskAltContDear.Text; Open; if not IsEmpty then begin maskAltContDear.Text := Params[0].AsString; end else begin Dc_MessageDlg(´Nº do Controle: ´+maskAltContDear.Text+´ não encontrada.´+13+ ´Digite outro Nº do Controle no formato 9999/AAAA Ex:(0001/2008).´, mtInformation, [MbOk],0); maskAltContDear.SetFocus; end; end;
Demora um pouco para trazer a busca, agora se eu fizer a mesma busca local se torna bem rápido.
Lembrando que esta tabela tambem é um mestre/detalhe ligado nas propriedades MasterSource - MasterFields e IndexFieldsName
Qual é o motivo desta demora?
O pior é que eu não entendi pq se eu fizer via SQL passando por parâmetros em vez de Mestre/Detalhe ligando as propriedades fica super rápido a consulta vindo lá do servidor
with cdsAltDEAR do begin Close; Params[0].AsString := maskAltContDear.Text; Open; if not IsEmpty then begin maskAltContDear.Text := Params[0].AsString;//Params.ParamByName(´pgerarchave´).AsString; with cdsAltTB_Proprietario do begin Close; Params[1].AsString := maskAltContDear.Text; Open; end; end else begin Dc_MessageDlg(´Nº do Controle: ´+maskAltContDear.Text+´ não encontrada.´+13+ ´Digite outro Nº do Controle no formato 9999/AAAA Ex:(0001/2008).´, mtInformation, [MbOk],0); maskAltContDear.SetFocus; end; end;
Será que em sistemas multicamadas não é aconselhável usar as propriedades
[b:247b936314]MasterSource - MasterFields e IndexFieldsName [/b:247b936314]
Responder
Clique aqui para fazer login e interagir na Comunidade :)