Re: [delphi-br] [CLIENTDATASET 3 TABELAS]

2010-08-03 Por tôpico Leandrooooo Nunes
bando de filha da puta... arrombados... deixa eu sair desta merda de 
grupo

To tentando sair desse inferno de grupo ja mandei e-mail pra todos os mails 
e nada.

num tem moderador nessa merda.

vo comeca a manda foto porno hein!

kct

--
From: Fabricio Colombo fabricio.colombo@gmail.com
Sent: Friday, July 30, 2010 8:41 AM
To: delphi-br@yahoogrupos.com.br
Subject: Re: [delphi-br] [CLIENTDATASET 3 TABELAS]

 Vc pode passar o where que retorna apenas 50 registros direto para a 
 query.
 É o que faço aqui pra retornar apenas 1 registro, não uso o PacketRecord,
 pois o sql também é executado rapidamente por usar indices e retornar 
 poucos
 dados.

 Em 27 de julho de 2010 09:36, Eny Urias enyur...@yahoo.com.br escreveu:



 Não quero mesmo trazer todos os registros do pai... Mas, se o cliente
 quiser
 fazer uma simples pesquisa que me traga uns 50 registros... Mesmo assim 
 eu
 nao
 quero trazer tudo...

 Então eu estou fazendo assim: No evento AfterScroll do Pai eu fecho e 
 abro
 o
 filho atraves do parametro enviado pelo pai... dessa forma ele só me traz
 os
 filhos do pai onde está o ponteiro.

 Tem alguma idéia melhor?
 --
 Eny Trova Urias

 Somos o que repetitivamente fazemos, portanto, a excelência não é um
 feito, mas
 um hábito- Aristóteles

 
 De: Fabricio Colombo 
 fabricio.colombo@gmail.comfabricio.colombo.mva%40gmail.com
 

 Para: delphi-br@yahoogrupos.com.br delphi-br%40yahoogrupos.com.br
 Enviadas: Terça-feira, 27 de Julho de 2010 9:01:07
 Assunto: Re: [delphi-br] [CLIENTDATASET 3 TABELAS]


 Mais isso não é uma falha, ele foi feito pra trabalhar assim, aliás, não
 conheço nenhum DataSet que faça diferente. O que vc queria é que ele
 fizesse
 *Lazy Loading*.
 ** http://en.wikipedia.org/wiki/Lazy_loadingNa minha opnião, quase 
 nunca
 é

 viável carregar todos os dados do pai, principalmente se utilizar 
 DataSnap,
 e portanto, isso foi abolido no nosso sistema.

 Por exemplo, de acordo com o cliente, a mesma tabela PAI pode variar de 
 10
 mil até mais de 4 milhões de registros, então temos que fazer o sistema
 pensando no cliente de 4 milhões. Não é viável abrir a tabela inteira,
 mesmo que ele não tivesse filhos, por isso o usuário consulta apenas um
 registro por vez, e é o suficiente, ele não precisa de todos os 
 registros.

 Nosso sistema nem tem navegador de registros e isso não dificulta o
 trabalho
 do usuário, pois vc tem que suprir essa limitação com pesquisas mais
 ricas
 e agéis.

 Pense um pouco na escalabilidade do sistema. E se o seu usuário abrir 
 essa
 tabela de 100.000 e clicar para ir ao último registro? Ele não vai trazer
 todos os registros da mesma maneira, só que de modo mais custoso?

 Como vc controla a transação, visto que aparentemente vc não usa mais
 Nested
 Datasets?

 Abraços,

 Fabricio

 Em 26 de julho de 2010 19:45, Eny Urias 
 enyur...@yahoo.com.brenyurias%40yahoo.com.br
 escreveu:

 
 
  Vamos fazer o seguinte
 
  Utilize uma ferramenta tracer e depois me fala o que acontece no 
  momento
 em
  que
  vc abre o cds Pai.
 
  No meu acontece assim: vamos imaginar uma tabela pai com 100.000
  registros... E
  uma tabela filho com 10 itens para cada pai... Então o programa vai
 trazer
  na
  memória 1.000.000 certo?
 
  Eu quero carregar todos os registros do cds pai e, somente trazer os do
  filho,
  quando o ponteiro estiver no pai.. entendeu? Foi aí que eu comecei a
  utilizar o
  evento AfterScroll...
 
 
  --
  Eny Trova Urias
 
  Somos o que repetitivamente fazemos, portanto, a excelência não é um
  feito, mas
  um hábito- Aristóteles
 
  
  De: Andre Yahoo gyncow...@yahoo.com.br 
  gyncowboy%40yahoo.com.brgyncowboy%
 40yahoo.com.br
 
  Para: delphi-br@yahoogrupos.com.br 
  delphi-br%40yahoogrupos.com.brdelphi-br%
 40yahoogrupos.com.br

  Enviadas: Sábado, 24 de Julho de 2010 20:33:03
  Assunto: Re: Res: [delphi-br] [CLIENTDATASET 3 TABELAS]
 
  Cara Eny,
 
  Não entendi o porque do problema, uma vez que ao carregar o registro
  pai, você vai estar filtrando ele, o que retornará para o registro
  mestre somente um registro, já para o filho você estará retornando
 todos
 
  os detalhes que estão vinculados com este registro mestre.
 
  Mas você disse: quando o CDS carrega os registros do Master, ele tras
  também, para cada registro pai, todos os registros do filho, quer 
  dizer
  que estava retornando todos os mestres ? Para a programação C/S você
  retorna somente um registro mestre, que é o que o usuário vai 
  trabalhar
  nele, não precisa retornar todos os registros. Se era essa a 
  situação,
 o
 
  problema era estrutural e com erro de programação, não do componente
 ou
  da maneira com os mesmos eram usados.
 
  Se não for isso que acontecia e puder explicar melhor, pois acho que
  muitos como eu podem não ter entendido a situação que ocorria muito
 bem.
 
  Atenciosamente,
 
  André Luis da

Re: [delphi-br] [CLIENTDATASET 3 TABELAS]

2010-08-03 Por tôpico NTS INFORMÁTICA
Amigo, as pessoas da Lista não são o que você é.

Não temos culpa de você ter nascido desprovido de inteligência, ninguem aqui 
fez o site da yahoo, portanto xingue sua mãe., pra sair e entrar na olhe 
primeira pagina do grupo seu imbecil nervosinho.

Márcio


  - Original Message - 
  From: Leandro Nunes 
  To: delphi-br@yahoogrupos.com.br 
  Sent: Wednesday, August 04, 2010 7:18 AM
  Subject: Re: [delphi-br] [CLIENTDATASET 3 TABELAS]



  bando de filha da puta... arrombados... deixa eu sair desta merda de 
  grupo

  To tentando sair desse inferno de grupo ja mandei e-mail pra todos os mails 
  e nada.

  num tem moderador nessa merda.

  vo comeca a manda foto porno hein!

  kct

  --
  From: Fabricio Colombo fabricio.colombo@gmail.com
  Sent: Friday, July 30, 2010 8:41 AM
  To: delphi-br@yahoogrupos.com.br
  Subject: Re: [delphi-br] [CLIENTDATASET 3 TABELAS]

   Vc pode passar o where que retorna apenas 50 registros direto para a 
   query.
   É o que faço aqui pra retornar apenas 1 registro, não uso o PacketRecord,
   pois o sql também é executado rapidamente por usar indices e retornar 
   poucos
   dados.
  
   Em 27 de julho de 2010 09:36, Eny Urias enyur...@yahoo.com.br escreveu:
  
  
  
   Não quero mesmo trazer todos os registros do pai... Mas, se o cliente
   quiser
   fazer uma simples pesquisa que me traga uns 50 registros... Mesmo assim 
   eu
   nao
   quero trazer tudo...
  
   Então eu estou fazendo assim: No evento AfterScroll do Pai eu fecho e 
   abro
   o
   filho atraves do parametro enviado pelo pai... dessa forma ele só me traz
   os
   filhos do pai onde está o ponteiro.
  
   Tem alguma idéia melhor?
   --
   Eny Trova Urias
  
   Somos o que repetitivamente fazemos, portanto, a excelência não é um
   feito, mas
   um hábito- Aristóteles
  
   
   De: Fabricio Colombo 
   fabricio.colombo@gmail.comfabricio.colombo.mva%40gmail.com
   
  
   Para: delphi-br@yahoogrupos.com.br delphi-br%40yahoogrupos.com.br
   Enviadas: Terça-feira, 27 de Julho de 2010 9:01:07
   Assunto: Re: [delphi-br] [CLIENTDATASET 3 TABELAS]
  
  
   Mais isso não é uma falha, ele foi feito pra trabalhar assim, aliás, não
   conheço nenhum DataSet que faça diferente. O que vc queria é que ele
   fizesse
   *Lazy Loading*.
   ** http://en.wikipedia.org/wiki/Lazy_loadingNa minha opnião, quase 
   nunca
   é
  
   viável carregar todos os dados do pai, principalmente se utilizar 
   DataSnap,
   e portanto, isso foi abolido no nosso sistema.
  
   Por exemplo, de acordo com o cliente, a mesma tabela PAI pode variar de 
   10
   mil até mais de 4 milhões de registros, então temos que fazer o sistema
   pensando no cliente de 4 milhões. Não é viável abrir a tabela inteira,
   mesmo que ele não tivesse filhos, por isso o usuário consulta apenas um
   registro por vez, e é o suficiente, ele não precisa de todos os 
   registros.
  
   Nosso sistema nem tem navegador de registros e isso não dificulta o
   trabalho
   do usuário, pois vc tem que suprir essa limitação com pesquisas mais
   ricas
   e agéis.
  
   Pense um pouco na escalabilidade do sistema. E se o seu usuário abrir 
   essa
   tabela de 100.000 e clicar para ir ao último registro? Ele não vai trazer
   todos os registros da mesma maneira, só que de modo mais custoso?
  
   Como vc controla a transação, visto que aparentemente vc não usa mais
   Nested
   Datasets?
  
   Abraços,
  
   Fabricio
  
   Em 26 de julho de 2010 19:45, Eny Urias 
   enyur...@yahoo.com.brenyurias%40yahoo.com.br
   escreveu:
  
   
   
Vamos fazer o seguinte
   
Utilize uma ferramenta tracer e depois me fala o que acontece no 
momento
   em
que
vc abre o cds Pai.
   
No meu acontece assim: vamos imaginar uma tabela pai com 100.000
registros... E
uma tabela filho com 10 itens para cada pai... Então o programa vai
   trazer
na
memória 1.000.000 certo?
   
Eu quero carregar todos os registros do cds pai e, somente trazer os do
filho,
quando o ponteiro estiver no pai.. entendeu? Foi aí que eu comecei a
utilizar o
evento AfterScroll...
   
   
--
Eny Trova Urias
   
Somos o que repetitivamente fazemos, portanto, a excelência não é um
feito, mas
um hábito- Aristóteles
   

De: Andre Yahoo gyncow...@yahoo.com.br 
gyncowboy%40yahoo.com.brgyncowboy%
   40yahoo.com.br
   
Para: delphi-br@yahoogrupos.com.br 
delphi-br%40yahoogrupos.com.brdelphi-br%
   40yahoogrupos.com.br
  
Enviadas: Sábado, 24 de Julho de 2010 20:33:03
Assunto: Re: Res: [delphi-br] [CLIENTDATASET 3 TABELAS]
   
Cara Eny,
   
Não entendi o porque do problema, uma vez que ao carregar o registro
pai, você vai estar filtrando ele, o que retornará para o registro
mestre somente um registro, já para o filho você estará retornando
   todos
   
os

Re: [delphi-br] [CLIENTDATASET 3 TABELAS]

2010-08-03 Por tôpico Leandrooooo Nunes
c acha que eu jah nau tentei isso o seu retardado!




From: Claudiney Cogo 
Sent: Tuesday, August 03, 2010 9:39 AM
To: delphi-br@yahoogrupos.com.br 
Subject: RES: [delphi-br] [CLIENTDATASET 3 TABELAS]


  
Moderador eu acredito que tenha sim, mas até agora tivemos apenas pessoas
educadas no grupo e não foi necessário a intervenção dele.

E também, para qualquer pessoa com um mínimo de conhecimento em informática,
sair do grupo é muito fácil. Apenas entrar no seu perfil e clicar para sair.
Tão fácil quando clicar em um botão. Mas isso pode ser uma tarefa muito
árdua para pessoas que tenham limitações nessa área. Nós entendemos.

Devo dizer que não sou moderador do grupo, apenas um simples usuário. Mas
que em vários anos de grupo nunca vi nada parecido com isso. E não posso
aceitar quieto. 

Se você está tentando sair do grupo, é porque entrou de alguma forma. Se
soube entrar, como não sabe sair? É só pensar um pouco. E se achar mais
fácil, leia a última linha deste e-mail.. tem um link escrito: SAIR DESTE
GRUPO.

Desculpe aos outros colegas de grupo por esta mensagem, mas sei que todos os
que realmente estão aqui como eu por gostar do conteúdo que passa por aqui
não consegue engolir uma situação dessas.

Abraços a todos.

_ 

Claudiney Cogo
N2 Sistemas e Soluções em Informática
Av. São Paulo, 172 - 15º Andar - Sala 1505
Fone/Fax: (44) 3029-6053 - Maringá - Paraná
http://www.n2solutions.com.br/ www.n2solutions.com.br
http://www.nfe.n2solutions.com.br/ www.nfe.n2solutions.com.br
http://www.studion2.com.br/ www.studion2.com.br

De: delphi-br@yahoogrupos.com.br [mailto:delphi...@yahoogrupos.com.br] Em
nome de Leandro Nunes
Enviada em: quarta-feira, 4 de agosto de 2010 07:18
Para: delphi-br@yahoogrupos.com.br
Assunto: Re: [delphi-br] [CLIENTDATASET 3 TABELAS]

bando de filha da puta... arrombados... deixa eu sair desta merda de 
grupo

To tentando sair desse inferno de grupo ja mandei e-mail pra todos os mails 
e nada.

num tem moderador nessa merda.

vo comeca a manda foto porno hein!

kct

--
From: Fabricio Colombo fabricio.colombo@gmail.com
mailto:fabricio.colombo.mva%40gmail.com 
Sent: Friday, July 30, 2010 8:41 AM
To: delphi-br@yahoogrupos.com.br mailto:delphi-br%40yahoogrupos.com.br 
Subject: Re: [delphi-br] [CLIENTDATASET 3 TABELAS]

 Vc pode passar o where que retorna apenas 50 registros direto para a 
 query.
 É o que faço aqui pra retornar apenas 1 registro, não uso o PacketRecord,
 pois o sql também é executado rapidamente por usar indices e retornar 
 poucos
 dados.

 Em 27 de julho de 2010 09:36, Eny Urias enyur...@yahoo.com.br
mailto:enyurias%40yahoo.com.br  escreveu:



 Não quero mesmo trazer todos os registros do pai... Mas, se o cliente
 quiser
 fazer uma simples pesquisa que me traga uns 50 registros... Mesmo assim 
 eu
 nao
 quero trazer tudo...

 Então eu estou fazendo assim: No evento AfterScroll do Pai eu fecho e 
 abro
 o
 filho atraves do parametro enviado pelo pai... dessa forma ele só me traz
 os
 filhos do pai onde está o ponteiro.

 Tem alguma idéia melhor?
 --
 Eny Trova Urias

 Somos o que repetitivamente fazemos, portanto, a excelência não é um
 feito, mas
 um hábito- Aristóteles

 
 De: Fabricio Colombo 
 fabricio.colombo@gmail.com mailto:fabricio.colombo.mva%40gmail.com
fabricio.colombo.mva%40gmail.com
 

 Para: delphi-br@yahoogrupos.com.br
mailto:delphi-br%40yahoogrupos.com.br delphi-br%40yahoogrupos.com.br
 Enviadas: Terça-feira, 27 de Julho de 2010 9:01:07
 Assunto: Re: [delphi-br] [CLIENTDATASET 3 TABELAS]


 Mais isso não é uma falha, ele foi feito pra trabalhar assim, aliás, não
 conheço nenhum DataSet que faça diferente. O que vc queria é que ele
 fizesse
 *Lazy Loading*.
 ** http://en.wikipedia.org/wiki/Lazy_loadingNa minha opnião, quase 
 nunca
 é

 viável carregar todos os dados do pai, principalmente se utilizar 
 DataSnap,
 e portanto, isso foi abolido no nosso sistema.

 Por exemplo, de acordo com o cliente, a mesma tabela PAI pode variar de 
 10
 mil até mais de 4 milhões de registros, então temos que fazer o sistema
 pensando no cliente de 4 milhões. Não é viável abrir a tabela inteira,
 mesmo que ele não tivesse filhos, por isso o usuário consulta apenas um
 registro por vez, e é o suficiente, ele não precisa de todos os 
 registros.

 Nosso sistema nem tem navegador de registros e isso não dificulta o
 trabalho
 do usuário, pois vc tem que suprir essa limitação com pesquisas mais
 ricas
 e agéis.

 Pense um pouco na escalabilidade do sistema. E se o seu usuário abrir 
 essa
 tabela de 100.000 e clicar para ir ao último registro? Ele não vai trazer
 todos os registros da mesma maneira, só que de modo mais custoso?

 Como vc controla a transação, visto que aparentemente vc não usa mais
 Nested
 Datasets?

 Abraços,

 Fabricio

 Em 26 de julho de 2010 19:45, Eny Urias 
 enyur...@yahoo.com.br mailto:enyurias%40yahoo.com.br
enyurias%40yahoo.com.br
 escreveu

Re: [delphi-br] [CLIENTDATASET 3 TABELAS]

2010-08-03 Por tôpico Leandrooooo Nunes
outro retardado!


From: NTS INFORMÁTICA 
Sent: Tuesday, August 03, 2010 9:45 AM
To: delphi-br@yahoogrupos.com.br 
Subject: Re: [delphi-br] [CLIENTDATASET 3 TABELAS]


  
Amigo, as pessoas da Lista não são o que você é.

Não temos culpa de você ter nascido desprovido de inteligência, ninguem aqui 
fez o site da yahoo, portanto xingue sua mãe., pra sair e entrar na olhe 
primeira pagina do grupo seu imbecil nervosinho.

Márcio

- Original Message - 
From: Leandro Nunes 
To: delphi-br@yahoogrupos.com.br 
Sent: Wednesday, August 04, 2010 7:18 AM
Subject: Re: [delphi-br] [CLIENTDATASET 3 TABELAS]

bando de filha da puta... arrombados... deixa eu sair desta merda de 
grupo

To tentando sair desse inferno de grupo ja mandei e-mail pra todos os mails 
e nada.

num tem moderador nessa merda.

vo comeca a manda foto porno hein!

kct

--
From: Fabricio Colombo fabricio.colombo@gmail.com
Sent: Friday, July 30, 2010 8:41 AM
To: delphi-br@yahoogrupos.com.br
Subject: Re: [delphi-br] [CLIENTDATASET 3 TABELAS]

 Vc pode passar o where que retorna apenas 50 registros direto para a 
 query.
 É o que faço aqui pra retornar apenas 1 registro, não uso o PacketRecord,
 pois o sql também é executado rapidamente por usar indices e retornar 
 poucos
 dados.

 Em 27 de julho de 2010 09:36, Eny Urias enyur...@yahoo.com.br escreveu:



 Não quero mesmo trazer todos os registros do pai... Mas, se o cliente
 quiser
 fazer uma simples pesquisa que me traga uns 50 registros... Mesmo assim 
 eu
 nao
 quero trazer tudo...

 Então eu estou fazendo assim: No evento AfterScroll do Pai eu fecho e 
 abro
 o
 filho atraves do parametro enviado pelo pai... dessa forma ele só me traz
 os
 filhos do pai onde está o ponteiro.

 Tem alguma idéia melhor?
 --
 Eny Trova Urias

 Somos o que repetitivamente fazemos, portanto, a excelência não é um
 feito, mas
 um hábito- Aristóteles

 
 De: Fabricio Colombo 
 fabricio.colombo@gmail.comfabricio.colombo.mva%40gmail.com
 

 Para: delphi-br@yahoogrupos.com.br delphi-br%40yahoogrupos.com.br
 Enviadas: Terça-feira, 27 de Julho de 2010 9:01:07
 Assunto: Re: [delphi-br] [CLIENTDATASET 3 TABELAS]


 Mais isso não é uma falha, ele foi feito pra trabalhar assim, aliás, não
 conheço nenhum DataSet que faça diferente. O que vc queria é que ele
 fizesse
 *Lazy Loading*.
 ** http://en.wikipedia.org/wiki/Lazy_loadingNa minha opnião, quase 
 nunca
 é

 viável carregar todos os dados do pai, principalmente se utilizar 
 DataSnap,
 e portanto, isso foi abolido no nosso sistema.

 Por exemplo, de acordo com o cliente, a mesma tabela PAI pode variar de 
 10
 mil até mais de 4 milhões de registros, então temos que fazer o sistema
 pensando no cliente de 4 milhões. Não é viável abrir a tabela inteira,
 mesmo que ele não tivesse filhos, por isso o usuário consulta apenas um
 registro por vez, e é o suficiente, ele não precisa de todos os 
 registros.

 Nosso sistema nem tem navegador de registros e isso não dificulta o
 trabalho
 do usuário, pois vc tem que suprir essa limitação com pesquisas mais
 ricas
 e agéis.

 Pense um pouco na escalabilidade do sistema. E se o seu usuário abrir 
 essa
 tabela de 100.000 e clicar para ir ao último registro? Ele não vai trazer
 todos os registros da mesma maneira, só que de modo mais custoso?

 Como vc controla a transação, visto que aparentemente vc não usa mais
 Nested
 Datasets?

 Abraços,

 Fabricio

 Em 26 de julho de 2010 19:45, Eny Urias 
 enyur...@yahoo.com.brenyurias%40yahoo.com.br
 escreveu:

 
 
  Vamos fazer o seguinte
 
  Utilize uma ferramenta tracer e depois me fala o que acontece no 
  momento
 em
  que
  vc abre o cds Pai.
 
  No meu acontece assim: vamos imaginar uma tabela pai com 100.000
  registros... E
  uma tabela filho com 10 itens para cada pai... Então o programa vai
 trazer
  na
  memória 1.000.000 certo?
 
  Eu quero carregar todos os registros do cds pai e, somente trazer os do
  filho,
  quando o ponteiro estiver no pai.. entendeu? Foi aí que eu comecei a
  utilizar o
  evento AfterScroll...
 
 
  --
  Eny Trova Urias
 
  Somos o que repetitivamente fazemos, portanto, a excelência não é um
  feito, mas
  um hábito- Aristóteles
 
  
  De: Andre Yahoo gyncow...@yahoo.com.br 
  gyncowboy%40yahoo.com.brgyncowboy%
 40yahoo.com.br
 
  Para: delphi-br@yahoogrupos.com.br 
  delphi-br%40yahoogrupos.com.brdelphi-br%
 40yahoogrupos.com.br

  Enviadas: Sábado, 24 de Julho de 2010 20:33:03
  Assunto: Re: Res: [delphi-br] [CLIENTDATASET 3 TABELAS]
 
  Cara Eny,
 
  Não entendi o porque do problema, uma vez que ao carregar o registro
  pai, você vai estar filtrando ele, o que retornará para o registro
  mestre somente um registro, já para o filho você estará retornando
 todos
 
  os detalhes que estão vinculados com este registro mestre.
 
  Mas você disse: quando o CDS carrega os registros do Master, ele tras
  também, para

Re: [delphi-br] [CLIENTDATASET 3 TABELAS]

2010-08-03 Por tôpico Leandrooooo Nunes
   Exibir apresentação de 
slideshttp://g.msn.com/5meen_us/171?path=/photomail/{c704e101-68df-4f06-82db-a4b48a82d64b}image=E93049445163A9AB!393imagehi=E93049445163A9AB!391CID=-1643733306218141269
   Salvar todas as fotos  Deseja salvar todas essas fotos de uma vez? Saiba 
como 
http://explore.live.com/windows-live-mail-help-center/help.aspx?mkt=en-usproject=WL_Mailv3querytype=keywordquery=segami_lla_evas
 
 As imagens online estão disponíveis por 30 dias  

comi 
ontem!http://public.bay.livefilestore.com/y1pnEVKdbomFpZg0fPJa18wT5PEPZwYwPeShn6sh_4EH5CEdEYCA7-xFMMERACReCL2zY3r_8mpYUOl8RM2k3mwiA/5.jpg.jpg?download
 
 
  
http://public.bay.livefilestore.com/y1plUNDMWN6WUS35LvsbRzn7XM1P2VDdMhj3ikLSabPY1sBuT4qbi6hKLEcqm2rzXFVr_-0mASX_gmQowWWPlMkFw/1.jpg.jpg?download
 
 
  
http://public.bay.livefilestore.com/y1pAigvAKsQPzE_lH2Zg2pM97yYaJd4XSz4GsMf4s_dO0sZ_pVI4n3znxuCdpTrW_dwJSCPWYcHjBfts36rqT2wrw/2.jpg.jpg?download
 
 
  
http://public.bay.livefilestore.com/y1pfKstIW2n7mQsaJufd7KuvxIEcxiqqQHXjeaqiSrL1ixr38-8tIuggQjF8wWACLLpyVRZYF2D0vPUlOPiXGdOWw/3.jpg.jpg?download
 
 
  
http://public.bay.livefilestore.com/y1pZ_4AIQknIHFTCveZiifRmtNbBGpBE1jH6xyBoaVFFYYp44CElzC-KVOaWG-Yikf8MqSQsfynVLBqxSOSXlXjdg/4.jpg.jpg?download
 
 



From: Claudiney Cogomailto:claudiney-lis...@n2solutions.com.br 
Sent: Tuesday, August 03, 2010 9:39 AM
To: delphi-br@yahoogrupos.com.brmailto:delphi-br@yahoogrupos.com.br 
Subject: RES: [delphi-br] [CLIENTDATASET 3 TABELAS]


  
Moderador eu acredito que tenha sim, mas até agora tivemos apenas pessoas
educadas no grupo e não foi necessário a intervenção dele.

E também, para qualquer pessoa com um mínimo de conhecimento em informática,
sair do grupo é muito fácil. Apenas entrar no seu perfil e clicar para sair.
Tão fácil quando clicar em um botão. Mas isso pode ser uma tarefa muito
árdua para pessoas que tenham limitações nessa área. Nós entendemos.

Devo dizer que não sou moderador do grupo, apenas um simples usuário. Mas
que em vários anos de grupo nunca vi nada parecido com isso. E não posso
aceitar quieto. 

Se você está tentando sair do grupo, é porque entrou de alguma forma. Se
soube entrar, como não sabe sair? É só pensar um pouco. E se achar mais
fácil, leia a última linha deste e-mail.. tem um link escrito: SAIR DESTE
GRUPO.

Desculpe aos outros colegas de grupo por esta mensagem, mas sei que todos os
que realmente estão aqui como eu por gostar do conteúdo que passa por aqui
não consegue “engolir” uma situação dessas.

Abraços a todos.

_ 

Claudiney Cogo
N2 Sistemas e Soluções em Informática
Av. São Paulo, 172 - 15º Andar - Sala 1505
Fone/Fax: (44) 3029-6053 - Maringá - Paraná
http://www.n2solutions.com.br/http://www.n2solutions.com.br/ 
www.n2solutions.com.br
http://www.nfe.n2solutions.com.br/http://www.nfe.n2solutions.com.br/ 
www.nfe.n2solutions.com.br
http://www.studion2.com.br/http://www.studion2.com.br/ www.studion2.com.br

De: delphi-br@yahoogrupos.com.brmailto:delphi-br%40yahoogrupos.com.br 
[mailto:delphi-br@yahoogrupos.com.brmailto:delphi-br%40yahoogrupos.com.br] Em
nome de Leandro Nunes
Enviada em: quarta-feira, 4 de agosto de 2010 07:18
Para: delphi-br@yahoogrupos.com.brmailto:delphi-br%40yahoogrupos.com.br
Assunto: Re: [delphi-br] [CLIENTDATASET 3 TABELAS]

bando de filha da puta... arrombados... deixa eu sair desta merda de 
grupo

To tentando sair desse inferno de grupo ja mandei e-mail pra todos os mails 
e nada.

num tem moderador nessa merda.

vo comeca a manda foto porno hein!

kct

--
From: Fabricio Colombo 
fabricio.colombo@gmail.commailto:fabricio.colombo.mva%40gmail.com
mailto:fabricio.colombo.mva%40gmail.com 
Sent: Friday, July 30, 2010 8:41 AM
To: delphi-br@yahoogrupos.com.brmailto:delphi-br%40yahoogrupos.com.br 
mailto:delphi-br%40yahoogrupos.com.br 
Subject: Re: [delphi-br] [CLIENTDATASET 3 TABELAS]

 Vc pode passar o where que retorna apenas 50 registros direto para a 
 query.
 É o que faço aqui pra retornar apenas 1 registro, não uso o PacketRecord,
 pois o sql também é executado rapidamente por usar indices e retornar 
 poucos
 dados.

 Em 27 de julho de 2010 09:36, Eny Urias 
 enyur...@yahoo.com.brmailto:enyurias%40yahoo.com.br
mailto:enyurias%40yahoo.com.br  escreveu:



 Não quero mesmo trazer todos os registros do pai... Mas, se o cliente
 quiser
 fazer uma simples pesquisa que me traga uns 50 registros... Mesmo assim 
 eu
 nao
 quero trazer tudo...

 Então eu estou fazendo assim: No evento AfterScroll do Pai eu fecho e 
 abro
 o
 filho atraves do parametro enviado pelo pai... dessa forma ele só me traz
 os
 filhos do pai onde está o ponteiro.

 Tem alguma idéia melhor?
 --
 Eny Trova Urias

 Somos o que repetitivamente fazemos, portanto, a excelência não é um
 feito, mas
 um hábito- Aristóteles

 
 De: Fabricio Colombo 
 fabricio.colombo@gmail.commailto:fabricio.colombo.mva%40gmail.com

Re: [delphi-br] [CLIENTDATASET 3 TABELAS]

2010-08-03 Por tôpico Leandrooooo Nunes
c deve trabalhar pr caralho hein!!! hahahaha

entra lá e clica nesse link pra ver se funciona zé!!!

e ó não escreve email tao compreido assim, eu só li o primeiro paragrafo.


From: Vitor Yahoo 
Sent: Tuesday, August 03, 2010 2:23 PM
To: delphi-br@yahoogrupos.com.br 
Subject: RES: [delphi-br] [CLIENTDATASET 3 TABELAS]


  
É bem provável que não. Atitudes como essas só mostram que você tem a
inteligência de uma pedra manca.

Entre no seu perfil, no yahoo. É só digitar o usuário e a senha, use o
teclado (aquela coisa cheia de números e caracteres que provavelmente está a
sua frente), você pode conferir o resultado das teclas que aperta no
monitor. (aquela coisa brilhante que também está a sua frente)

Entrou no perfil/ Deve aparecer um Oi otário na sua tela. Nessa mesma
tela, tem um menu (aquela coisa cheia de botões) do lado esquerdo. Clique em
Grupos (se não souber ler, procure uma escola).

Na página de Grupos, aparecerá outro menu (explicação acima) entitulado
Meus Grupos. Clique em gerenciar, o link ao lado do título Meus Grupos.
Na tela que segue, clique em editar meus grupos.

Os grupos nos quais você está inscrito aparecerão magicamente na sua tela.
No final de cada linha existe uma caixa de checagem (um quadrado que quando
clicado muda para um quadrado com um V). 

Marque as opções desejadas (não tente se matar por essa tela, não tem essa
opção ainda) e depois, clique em Salvar (o botão azul).

Esse é o caminho mais longo, mas se você não conseguir, exclua sua conta,
procure o hospício mais próximo ou a universidade mais próxima e entregue-se
para um estudo mais detalhado.

Para complementar, ninguém aqui fez o yahoo (como já foi dito) e ninguém
aprova a saída de membros do grupo, a entrada e saída dos membros é de
total responsabilidade do... ... ... ... membro, claro. Se você realmente é
desprovido de massa cefálica e está digitando através de uma criança de 5
anos, não se preocupe, ela é perfeitamente capaz de executar os
procedimentos acima descritos.

Tenha uma semana horrenda.

Obrigado.

_ 

De: delphi-br@yahoogrupos.com.br [mailto:delphi...@yahoogrupos.com.br] Em
nome de Leandro Nunes
Enviada em: quarta-feira, 4 de agosto de 2010 12:31
Para: delphi-br@yahoogrupos.com.br
Assunto: Re: [delphi-br] [CLIENTDATASET 3 TABELAS]

c acha que eu jah nau tentei isso o seu retardado!

From: Claudiney Cogo 
Sent: Tuesday, August 03, 2010 9:39 AM
To: delphi-br@yahoogrupos.com.br mailto:delphi-br%40yahoogrupos.com.br 
Subject: RES: [delphi-br] [CLIENTDATASET 3 TABELAS]

Moderador eu acredito que tenha sim, mas até agora tivemos apenas pessoas
educadas no grupo e não foi necessário a intervenção dele.

E também, para qualquer pessoa com um mínimo de conhecimento em informática,
sair do grupo é muito fácil. Apenas entrar no seu perfil e clicar para sair.
Tão fácil quando clicar em um botão. Mas isso pode ser uma tarefa muito
árdua para pessoas que tenham limitações nessa área. Nós entendemos.

Devo dizer que não sou moderador do grupo, apenas um simples usuário. Mas
que em vários anos de grupo nunca vi nada parecido com isso. E não posso
aceitar quieto. 

Se você está tentando sair do grupo, é porque entrou de alguma forma. Se
soube entrar, como não sabe sair? É só pensar um pouco. E se achar mais
fácil, leia a última linha deste e-mail.. tem um link escrito: SAIR DESTE
GRUPO.

Desculpe aos outros colegas de grupo por esta mensagem, mas sei que todos os
que realmente estão aqui como eu por gostar do conteúdo que passa por aqui
não consegue engolir uma situação dessas.

Abraços a todos.

_ 

Claudiney Cogo
N2 Sistemas e Soluções em Informática
Av. São Paulo, 172 - 15º Andar - Sala 1505
Fone/Fax: (44) 3029-6053 - Maringá - Paraná
http://www.n2solutions.com.br/ www.n2solutions.com.br
http://www.nfe.n2solutions.com.br/ www.nfe.n2solutions.com.br
http://www.studion2.com.br/ www.studion2.com.br

De: delphi-br@yahoogrupos.com.br mailto:delphi-br%40yahoogrupos.com.br
[mailto:delphi-br@yahoogrupos.com.br mailto:delphi-br%40yahoogrupos.com.br
] Em
nome de Leandro Nunes
Enviada em: quarta-feira, 4 de agosto de 2010 07:18
Para: delphi-br@yahoogrupos.com.br mailto:delphi-br%40yahoogrupos.com.br 
Assunto: Re: [delphi-br] [CLIENTDATASET 3 TABELAS]

bando de filha da puta... arrombados... deixa eu sair desta merda de 
grupo

To tentando sair desse inferno de grupo ja mandei e-mail pra todos os mails 
e nada.

num tem moderador nessa merda.

vo comeca a manda foto porno hein!

kct

--
From: Fabricio Colombo fabricio.colombo@gmail.com
mailto:fabricio.colombo.mva%40gmail.com 
mailto:fabricio.colombo.mva%40gmail.com 
Sent: Friday, July 30, 2010 8:41 AM
To: delphi-br@yahoogrupos.com.br mailto:delphi-br%40yahoogrupos.com.br
mailto:delphi-br%40yahoogrupos.com.br 
Subject: Re: [delphi-br] [CLIENTDATASET 3 TABELAS]

 Vc pode passar o where que retorna apenas 50 registros direto para a 
 query.
 É o que faço aqui pra retornar apenas 1 registro, não uso o

Re: [delphi-br] [CLIENTDATASET 3 TABELAS]

2010-07-31 Por tôpico Fabricio Colombo
Vc pode passar o where que retorna apenas 50 registros direto para a query.
É o que faço aqui pra retornar apenas 1 registro, não uso o PacketRecord,
pois o sql também é executado rapidamente por usar indices e retornar poucos
dados.

Em 27 de julho de 2010 09:36, Eny Urias enyur...@yahoo.com.br escreveu:



 Não quero mesmo trazer todos os registros do pai... Mas, se o cliente
 quiser
 fazer uma simples pesquisa que me traga uns 50 registros... Mesmo assim eu
 nao
 quero trazer tudo...

 Então eu estou fazendo assim: No evento AfterScroll do Pai eu fecho e abro
 o
 filho atraves do parametro enviado pelo pai... dessa forma ele só me traz
 os
 filhos do pai onde está o ponteiro.

 Tem alguma idéia melhor?
 --
 Eny Trova Urias

 Somos o que repetitivamente fazemos, portanto, a excelência não é um
 feito, mas
 um hábito- Aristóteles

 
 De: Fabricio Colombo 
 fabricio.colombo@gmail.comfabricio.colombo.mva%40gmail.com
 

 Para: delphi-br@yahoogrupos.com.br delphi-br%40yahoogrupos.com.br
 Enviadas: Terça-feira, 27 de Julho de 2010 9:01:07
 Assunto: Re: [delphi-br] [CLIENTDATASET 3 TABELAS]


 Mais isso não é uma falha, ele foi feito pra trabalhar assim, aliás, não
 conheço nenhum DataSet que faça diferente. O que vc queria é que ele
 fizesse
 *Lazy Loading*.
 ** http://en.wikipedia.org/wiki/Lazy_loadingNa minha opnião, quase nunca
 é

 viável carregar todos os dados do pai, principalmente se utilizar DataSnap,
 e portanto, isso foi abolido no nosso sistema.

 Por exemplo, de acordo com o cliente, a mesma tabela PAI pode variar de 10
 mil até mais de 4 milhões de registros, então temos que fazer o sistema
 pensando no cliente de 4 milhões. Não é viável abrir a tabela inteira,
 mesmo que ele não tivesse filhos, por isso o usuário consulta apenas um
 registro por vez, e é o suficiente, ele não precisa de todos os registros.

 Nosso sistema nem tem navegador de registros e isso não dificulta o
 trabalho
 do usuário, pois vc tem que suprir essa limitação com pesquisas mais
 ricas
 e agéis.

 Pense um pouco na escalabilidade do sistema. E se o seu usuário abrir essa
 tabela de 100.000 e clicar para ir ao último registro? Ele não vai trazer
 todos os registros da mesma maneira, só que de modo mais custoso?

 Como vc controla a transação, visto que aparentemente vc não usa mais
 Nested
 Datasets?

 Abraços,

 Fabricio

 Em 26 de julho de 2010 19:45, Eny Urias 
 enyur...@yahoo.com.brenyurias%40yahoo.com.br
 escreveu:

 
 
  Vamos fazer o seguinte
 
  Utilize uma ferramenta tracer e depois me fala o que acontece no momento
 em
  que
  vc abre o cds Pai.
 
  No meu acontece assim: vamos imaginar uma tabela pai com 100.000
  registros... E
  uma tabela filho com 10 itens para cada pai... Então o programa vai
 trazer
  na
  memória 1.000.000 certo?
 
  Eu quero carregar todos os registros do cds pai e, somente trazer os do
  filho,
  quando o ponteiro estiver no pai.. entendeu? Foi aí que eu comecei a
  utilizar o
  evento AfterScroll...
 
 
  --
  Eny Trova Urias
 
  Somos o que repetitivamente fazemos, portanto, a excelência não é um
  feito, mas
  um hábito- Aristóteles
 
  
  De: Andre Yahoo gyncow...@yahoo.com.br 
  gyncowboy%40yahoo.com.brgyncowboy%
 40yahoo.com.br
 
  Para: delphi-br@yahoogrupos.com.br 
  delphi-br%40yahoogrupos.com.brdelphi-br%
 40yahoogrupos.com.br

  Enviadas: Sábado, 24 de Julho de 2010 20:33:03
  Assunto: Re: Res: [delphi-br] [CLIENTDATASET 3 TABELAS]
 
  Cara Eny,
 
  Não entendi o porque do problema, uma vez que ao carregar o registro
  pai, você vai estar filtrando ele, o que retornará para o registro
  mestre somente um registro, já para o filho você estará retornando
 todos
 
  os detalhes que estão vinculados com este registro mestre.
 
  Mas você disse: quando o CDS carrega os registros do Master, ele tras
  também, para cada registro pai, todos os registros do filho, quer dizer
  que estava retornando todos os mestres ? Para a programação C/S você
  retorna somente um registro mestre, que é o que o usuário vai trabalhar
  nele, não precisa retornar todos os registros. Se era essa a situação,
 o
 
  problema era estrutural e com erro de programação, não do componente
 ou
  da maneira com os mesmos eram usados.
 
  Se não for isso que acontecia e puder explicar melhor, pois acho que
  muitos como eu podem não ter entendido a situação que ocorria muito
 bem.
 
  Atenciosamente,
 
  André Luis da Silveira
 
  Siagri - Sistemas de Gestao Ltda.
 
  __
  Fale com seus amigos de graça com o novo Yahoo! Messenger
  http://br.messenger.yahoo.com/
 
  [As partes desta mensagem que não continham texto foram removidas]
 
 
 

 [As partes desta mensagem que não continham texto foram removidas]

 


 --
  FAVOR REMOVER ESTA PARTE AO RESPONDER ESTA MENSAGEM 

 [As partes desta mensagem que não continham texto foram

RE: [delphi-br] [CLIENTDATASET 3 TABELAS]

2010-07-29 Por tôpico Bruno Lichot
Sao duas coisas

 

Uma e utilizar o mestre detalhe com nested dataset como esta no vídeo do FDD 
2008 que para melhorar o trafego vc deve no dataset de detalhe colocar o 
packagerecords como 1 e aplicar um CDs.disablecontrols antes de dar um open e 
um enablecontrols após isso, ajuda na performance de abertura e na redução de 
trafego pois os controles visuais não forçarão o packagerecord, outra fora e 
alinhar o uso do getnextpack. Para tabelas simples e principalmente para 
relatórios é muito importante.

 

Para movimentos mais pesados e complexos eu uso o mestre detalhe descontecado, 
como mostro na serie de artigos que esta na active Delphi desde a edição 74 e 
cujo exemplo esta no meu link de downloads também. Os exemplos multicamadas 
precisam, dependendo do caso, do banco de dados instalado (InterBase, FireBird, 
Oracle ou SQL Server), no servidor de aplicação geralmente tem um arquivo de 
configuração de acesso ao banco e nos clientes um arquivo para este acessar o 
servidor. Esta tudo explicado no artigo.

 

Se vc postar o erro e disser qual o Delphi que esta utilizando eu consigo te 
indicar como rodar o exemplo.

 

Abs

 

Bruno

 

From: delphi-br@yahoogrupos.com.br [mailto:delphi...@yahoogrupos.com.br] On 
Behalf Of Eny Urias
Sent: quarta-feira, 28 de julho de 2010 18:28
To: delphi-br@yahoogrupos.com.br
Subject: Res: [delphi-br] [CLIENTDATASET 3 TABELAS]

 

  

Eu baixei o codigo do exemplo que vc deu... 

Eu não tenho experiencia nenhuma com FireBird... Não sei se precisa configurar 
alguma coisa pra poder rodar o exemplo Só sei que não rodou...rs
E esse esquema de mestre/detalhe é exatamente o que eu utilizava antes de 
descobrir o quanto de trafego ele causa na rede... por isso parei de usar...

Mas, para sistemas de pequeno porte dá pra utilizar tranquilo... 
--
Eny Trova Urias

Somos o que repetitivamente fazemos, portanto, a excelência não é um feito, 
mas 
um hábito- Aristóteles


De: Bruno Lichot bruno.lic...@microfocus.com 
mailto:bruno.lichot%40microfocus.com 
Para: delphi-br@yahoogrupos.com.br mailto:delphi-br%40yahoogrupos.com.br 
Enviadas: Terça-feira, 27 de Julho de 2010 23:18:41
Assunto: RE: [delphi-br] [CLIENTDATASET 3 TABELAS]

Uma boa forma é sempre conduzir pesquisas com filtros e trabalhar este trafego 
de registros através do packagerecords. Uma outra forma é colocar a navegação 
de 
pais e filhos inerentes a sua vizualizaçào e acontecendo por demanda.

Eu estou com artigos na active Delphi desde a edição 74 sobre desenvolvimento 
comercial com Delphi e DataSnap, e um dos tópicos e o tratamento 
mestre-detalhe. 
No meu link de downloads tem alguns exemplos sobre isso, inclusive o exemplo do 
artigo e um vídeo do FDD 2008 onde mostro este e outros recursos do 
clientdataset: http://cc.embarcadero.com/author/795118

Abracos

Bruno

From: delphi-br@yahoogrupos.com.br mailto:delphi-br%40yahoogrupos.com.br  
[mailto:delphi-br@yahoogrupos.com.br mailto:delphi-br%40yahoogrupos.com.br ] 
On 
Behalf Of Eny Urias
Sent: terça-feira, 27 de julho de 2010 09:37
To: delphi-br@yahoogrupos.com.br mailto:delphi-br%40yahoogrupos.com.br 
Subject: Res: [delphi-br] [CLIENTDATASET 3 TABELAS]

Não quero mesmo trazer todos os registros do pai... Mas, se o cliente quiser 
fazer uma simples pesquisa que me traga uns 50 registros... Mesmo assim eu nao 
quero trazer tudo...

Então eu estou fazendo assim: No evento AfterScroll do Pai eu fecho e abro o 
filho atraves do parametro enviado pelo pai... dessa forma ele só me traz os 
filhos do pai onde está o ponteiro.

Tem alguma idéia melhor? 
--
Eny Trova Urias

Somos o que repetitivamente fazemos, portanto, a excelência não é um feito, 
mas 

um hábito- Aristóteles


De: Fabricio Colombo fabricio.colombo@gmail.com 
mailto:fabricio.colombo.mva%40gmail.com  
mailto:fabricio.colombo.mva%40gmail.com 
Para: delphi-br@yahoogrupos.com.br mailto:delphi-br%40yahoogrupos.com.br  
mailto:delphi-br%40yahoogrupos.com.br 
Enviadas: Terça-feira, 27 de Julho de 2010 9:01:07
Assunto: Re: [delphi-br] [CLIENTDATASET 3 TABELAS]

Mais isso não é uma falha, ele foi feito pra trabalhar assim, aliás, não
conheço nenhum DataSet que faça diferente. O que vc queria é que ele fizesse
*Lazy Loading*.
** http://en.wikipedia.org/wiki/Lazy_loadingNa minha opnião, quase nunca é
viável carregar todos os dados do pai, principalmente se utilizar DataSnap,
e portanto, isso foi abolido no nosso sistema.

Por exemplo, de acordo com o cliente, a mesma tabela PAI pode variar de 10
mil até mais de 4 milhões de registros, então temos que fazer o sistema
pensando no cliente de 4 milhões. Não é viável abrir a tabela inteira,
mesmo que ele não tivesse filhos, por isso o usuário consulta apenas um
registro por vez, e é o suficiente, ele não precisa de todos os registros.

Nosso sistema nem tem navegador de registros e isso não dificulta o trabalho
do usuário, pois vc tem que suprir essa limitação com pesquisas mais ricas
e

Re: [delphi-br] [CLIENTDATASET 3 TABELAS]

2010-07-27 Por tôpico Fabricio Colombo
Mais isso não é uma falha, ele foi feito pra trabalhar assim, aliás, não
conheço nenhum DataSet que faça diferente. O que vc queria é que ele fizesse
*Lazy Loading*.
** http://en.wikipedia.org/wiki/Lazy_loadingNa minha opnião, quase nunca é
viável carregar todos os dados do pai, principalmente se utilizar DataSnap,
e portanto, isso foi abolido no nosso sistema.

Por exemplo, de acordo com o cliente, a mesma tabela PAI pode variar de 10
mil até mais de 4 milhões de registros, então temos que fazer o sistema
pensando no cliente de 4 milhões.  Não é viável abrir a tabela inteira,
mesmo que ele não tivesse filhos, por isso o usuário consulta apenas um
registro por vez, e é o suficiente, ele não precisa de todos os registros.

Nosso sistema nem tem navegador de registros e isso não dificulta o trabalho
do usuário, pois vc tem que suprir essa limitação com pesquisas mais ricas
e agéis.

Pense um pouco na escalabilidade do sistema. E se o seu usuário abrir essa
tabela de 100.000 e clicar para ir ao último registro? Ele não vai trazer
todos os registros da mesma maneira, só que de modo mais custoso?

Como vc controla a transação, visto que aparentemente vc não usa mais Nested
Datasets?

Abraços,

Fabricio

Em 26 de julho de 2010 19:45, Eny Urias enyur...@yahoo.com.br escreveu:



 Vamos fazer o seguinte

 Utilize uma ferramenta tracer e depois me fala o que acontece no momento em
 que
 vc abre o cds Pai.

 No meu acontece assim: vamos imaginar uma tabela pai com 100.000
 registros... E
 uma tabela filho com 10 itens para cada pai... Então o programa vai trazer
 na
 memória 1.000.000 certo?

 Eu quero carregar todos os registros do cds pai e, somente trazer os do
 filho,
 quando o ponteiro estiver no pai.. entendeu? Foi aí que eu comecei a
 utilizar o
 evento AfterScroll...


 --
 Eny Trova Urias

 Somos o que repetitivamente fazemos, portanto, a excelência não é um
 feito, mas
 um hábito- Aristóteles

 
 De: Andre Yahoo gyncow...@yahoo.com.br gyncowboy%40yahoo.com.br

 Para: delphi-br@yahoogrupos.com.br delphi-br%40yahoogrupos.com.br
 Enviadas: Sábado, 24 de Julho de 2010 20:33:03
 Assunto: Re: Res: [delphi-br] [CLIENTDATASET 3 TABELAS]

 Cara Eny,

 Não entendi o porque do problema, uma vez que ao carregar o registro
 pai, você vai estar filtrando ele, o que retornará para o registro
 mestre somente um registro, já para o filho você estará retornando todos

 os detalhes que estão vinculados com este registro mestre.

 Mas você disse: quando o CDS carrega os registros do Master, ele tras
 também, para cada registro pai, todos os registros do filho, quer dizer
 que estava retornando todos os mestres ? Para a programação C/S você
 retorna somente um registro mestre, que é o que o usuário vai trabalhar
 nele, não precisa retornar todos os registros. Se era essa a situação, o

 problema era estrutural e com erro de programação, não do componente ou
 da maneira com os mesmos eram usados.

 Se não for isso que acontecia e puder explicar melhor, pois acho que
 muitos como eu podem não ter entendido a situação que ocorria muito bem.

 Atenciosamente,

 André Luis da Silveira

 Siagri - Sistemas de Gestao Ltda.

 __
 Fale com seus amigos de graça com o novo Yahoo! Messenger
 http://br.messenger.yahoo.com/

 [As partes desta mensagem que não continham texto foram removidas]

  



[As partes desta mensagem que não continham texto foram removidas]





-- 
 FAVOR REMOVER ESTA PARTE AO RESPONDER ESTA MENSAGEM 

* Para ver as mensagens antigas, acesse:
http://br.groups.yahoo.com/group/delphi-br/messages

* Para falar com o moderador, envie um e-mail para:
delphi-br-ow...@yahoogrupos.com.br
Links do Yahoo! Grupos

* Para visitar o site do seu grupo na web, acesse:
http://br.groups.yahoo.com/group/delphi-br/

* Para sair deste grupo, envie um e-mail para:
delphi-br-unsubscr...@yahoogrupos.com.br

* O uso que você faz do Yahoo! Grupos está sujeito aos:
http://br.yahoo.com/info/utos.html




RE: [delphi-br] [CLIENTDATASET 3 TABELAS]

2010-07-27 Por tôpico Bruno Lichot
Uma boa forma é sempre conduzir pesquisas com filtros e trabalhar este trafego 
de registros através do packagerecords. Uma outra forma é colocar a navegação 
de pais e filhos inerentes a sua vizualizaçào e acontecendo por demanda.

 

Eu estou com artigos na active Delphi desde a edição 74 sobre desenvolvimento 
comercial com Delphi e DataSnap, e um dos tópicos e o tratamento 
mestre-detalhe. No meu link de downloads tem alguns exemplos sobre isso, 
inclusive o exemplo do artigo e um vídeo do FDD 2008 onde mostro este e outros 
recursos do clientdataset: http://cc.embarcadero.com/author/795118

 

Abracos

 

Bruno

 

From: delphi-br@yahoogrupos.com.br [mailto:delphi...@yahoogrupos.com.br] On 
Behalf Of Eny Urias
Sent: terça-feira, 27 de julho de 2010 09:37
To: delphi-br@yahoogrupos.com.br
Subject: Res: [delphi-br] [CLIENTDATASET 3 TABELAS]

 

  

Não quero mesmo trazer todos os registros do pai... Mas, se o cliente quiser 
fazer uma simples pesquisa que me traga uns 50 registros... Mesmo assim eu nao 
quero trazer tudo...

Então eu estou fazendo assim: No evento AfterScroll do Pai eu fecho e abro o 
filho atraves do parametro enviado pelo pai... dessa forma ele só me traz os 
filhos do pai onde está o ponteiro.

Tem alguma idéia melhor? 
--
Eny Trova Urias

Somos o que repetitivamente fazemos, portanto, a excelência não é um feito, 
mas 
um hábito- Aristóteles


De: Fabricio Colombo fabricio.colombo@gmail.com 
mailto:fabricio.colombo.mva%40gmail.com 
Para: delphi-br@yahoogrupos.com.br mailto:delphi-br%40yahoogrupos.com.br 
Enviadas: Terça-feira, 27 de Julho de 2010 9:01:07
Assunto: Re: [delphi-br] [CLIENTDATASET 3 TABELAS]

Mais isso não é uma falha, ele foi feito pra trabalhar assim, aliás, não
conheço nenhum DataSet que faça diferente. O que vc queria é que ele fizesse
*Lazy Loading*.
** http://en.wikipedia.org/wiki/Lazy_loadingNa minha opnião, quase nunca é
viável carregar todos os dados do pai, principalmente se utilizar DataSnap,
e portanto, isso foi abolido no nosso sistema.

Por exemplo, de acordo com o cliente, a mesma tabela PAI pode variar de 10
mil até mais de 4 milhões de registros, então temos que fazer o sistema
pensando no cliente de 4 milhões. Não é viável abrir a tabela inteira,
mesmo que ele não tivesse filhos, por isso o usuário consulta apenas um
registro por vez, e é o suficiente, ele não precisa de todos os registros.

Nosso sistema nem tem navegador de registros e isso não dificulta o trabalho
do usuário, pois vc tem que suprir essa limitação com pesquisas mais ricas
e agéis.

Pense um pouco na escalabilidade do sistema. E se o seu usuário abrir essa
tabela de 100.000 e clicar para ir ao último registro? Ele não vai trazer
todos os registros da mesma maneira, só que de modo mais custoso?

Como vc controla a transação, visto que aparentemente vc não usa mais Nested
Datasets?

Abraços,

Fabricio

Em 26 de julho de 2010 19:45, Eny Urias enyur...@yahoo.com.br 
mailto:enyurias%40yahoo.com.br  escreveu:



 Vamos fazer o seguinte

 Utilize uma ferramenta tracer e depois me fala o que acontece no momento em
 que
 vc abre o cds Pai.

 No meu acontece assim: vamos imaginar uma tabela pai com 100.000
 registros... E
 uma tabela filho com 10 itens para cada pai... Então o programa vai trazer
 na
 memória 1.000.000 certo?

 Eu quero carregar todos os registros do cds pai e, somente trazer os do
 filho,
 quando o ponteiro estiver no pai.. entendeu? Foi aí que eu comecei a
 utilizar o
 evento AfterScroll...


 --
 Eny Trova Urias

 Somos o que repetitivamente fazemos, portanto, a excelência não é um
 feito, mas
 um hábito- Aristóteles

 
 De: Andre Yahoo gyncow...@yahoo.com.br mailto:gyncowboy%40yahoo.com.br  
 gyncowboy%40yahoo.com.br

 Para: delphi-br@yahoogrupos.com.br mailto:delphi-br%40yahoogrupos.com.br  
 delphi-br%40yahoogrupos.com.br
 Enviadas: Sábado, 24 de Julho de 2010 20:33:03
 Assunto: Re: Res: [delphi-br] [CLIENTDATASET 3 TABELAS]

 Cara Eny,

 Não entendi o porque do problema, uma vez que ao carregar o registro
 pai, você vai estar filtrando ele, o que retornará para o registro
 mestre somente um registro, já para o filho você estará retornando todos

 os detalhes que estão vinculados com este registro mestre.

 Mas você disse: quando o CDS carrega os registros do Master, ele tras
 também, para cada registro pai, todos os registros do filho, quer dizer
 que estava retornando todos os mestres ? Para a programação C/S você
 retorna somente um registro mestre, que é o que o usuário vai trabalhar
 nele, não precisa retornar todos os registros. Se era essa a situação, o

 problema era estrutural e com erro de programação, não do componente ou
 da maneira com os mesmos eram usados.

 Se não for isso que acontecia e puder explicar melhor, pois acho que
 muitos como eu podem não ter entendido a situação que ocorria muito bem.

 Atenciosamente,

 André Luis da Silveira

 Siagri - Sistemas

Re: [delphi-br] [CLIENTDATASET 3 TABELAS]

2010-07-23 Por tôpico Fabricio Colombo
Não entendi, a idéia não é essa mesma, para cada registro do pai carregar os
filhos automaticamente.

Exemplifica o que vc constatou. O que ele tava executando
desnecessariamente.

Em 22 de julho de 2010 22:09, Eny Urias enyur...@yahoo.com.br escreveu:



 Só para deixar registrado:

 Eu usei por muito tempo esse esquema do DATASETFIELD para utilizar em
 Master/Detail... Até que um dia, utilizando a ferramenta OraTracer para
 pegar um
 comando sql do Oracle eu pude perceber que ao utilizar essa técnica, quando
 o
 CDS carrega os registros do Master, ele tras também, para cada registro
 pai,
 todos os registros do filho... Fiquei abismada com o tráfego que isso causa
 na
 rede... Quando o DBA da empresa viu disse para nunca mais utilizar dessa
 forma...

 Agora eu abro o CDS filho utilizando o mesmo parametro mas no evento
 AfterScroll
 do CDS pai...

 Alguém já fez essa verificação com outros bancos?


 --
 Eny Trova Urias

 Somos o que repetitivamente fazemos, portanto, a excelência não é um
 feito, mas
 um hábito- Aristóteles

 
 De: Walter Chagas (Bol) wchag...@bol.com.br wchagasj%40bol.com.br

 Para: delphi-br@yahoogrupos.com.br delphi-br%40yahoogrupos.com.br
 Enviadas: Quinta-feira, 22 de Julho de 2010 14:58:28
 Assunto: Re: [delphi-br] [CLIENTDATASET 3 TABELAS]


 Marcio,

 Este passo-a-passo meu já é bem conhecido aqui na lista. Ve se te atende:

 1) TODAS AS TABELAS ENVOLVIDAS NESTE PROCESSO TEM QUE TER CHAVE PRIMÁRIA E
 ESTRANGEIRA, DO CONTRARIO ISTO DAÍ NÃO VAI FUNCIONAR 100% ESTÁVEL.

 2) Coloque um componente TADOConnection no seu DataModule e defina as
 configurações devidas nele.

 3) Coloque um compoente TQuery no Datamodule ou então um TSQLDataSet. Vamos

 Chamá-lo de qMaster, ou sqldMaster.

 4) Coloque na propriedade SQL do qMaster, ou então na propriedade
 CommandText do sqldMaster a sentença SQL que você deseja buscar como dados
 da Tabela Master.

 5) Dê um clique duplo na qMaster. Aparecerá o FieldsEditor. Manda adicionar

 todo mundo.

 6) Em cada TField, localize a propriedade providerflags. Os campos que são
 chave primária na Tabela, ficaraão com pfInkey true nos, os demais ficou
 false. Os pfInUpdate e pfInWhere todos ficam como true (em todos os
 campos).

 7) Sete a propriedade CursorLocation da qMaster ou do sqldMaster pra
 clUseServer

 8) Se a sentença SQL da qMaster tiver parametros, ajuste as configurações
 dele, na propriedade Parameters (A não configuração do parametro irá dar
 pau nos ClientDatasets posteriormente)

 9) Coloque um componente TDatasetProvider no Datamodule. vamos chamá-lo de
 dspMaster.

 10) Aponte o Dataset dele pra qMaster ou pro sqldMaster.

 11) Abra a propriedade Options do dspMaster. Todas as subpropriedades dele
 devem ficar como false, exceto as poCascadeDeletes, poCascadeUpdates,
 poAutoRefresh. Estas tres deverão ficar setadas como True.

 12) Mude a propriedade, no dspMaster, UpdateMode para upWhereKeyOnly

 13) Coloque no seu Datamodule um componente TClientDataset. Vamos chamalo
 de
 cdsMaster.

 14) Aponte o Provider dele pra dspMaster.

 15) Ative o cdsMaster, mudando a propreiedade Active dele para True. Dê um
 clique duplo na cdsMaster. Aparecerá o FieldsEditor. Manda adicionar todo
 mundo.

 16) Repita o passo 6. Mas agora, você pode formatar os campos. Na
 propriedade DisplayLabel, coloque um nome mais legível ao usuário. Na
 propriedade Displayformat, você pode formatar valores monetários e de data
 para serem exibidos. Na propriedade EditFormat voce pode formatar estes
 valores para serem editados no cadastro. A propriedade Visible do TField,
 permite você ocultar este campo nos DBwares.

 17) Coloque no seu DataModule, um componente TDataSource. Vamos chama-lo de

 dsMaster.

 18) Aponte o Dataset dele para o cdsMaster.
 Seu Módulo Master está pronto.
 Agora vamos linkar ele ao Modulo detail.

 1) Coloque no seu DataModule, um componente TDataSource. Vamos chama-lo de
 dsMasterDetail.

 2) Aponte o Dataset dele para o dsMaster.

 3)Coloque um compoente TQuery no Datamodule ou então um TSQLDataSet. Vamos
 Chamá-lo de qDetail, ou sqldDetail.

 4) Coloque na propriedade SQL do qMaster, ou então na propriedade
 CommandText do sqldMaster a sentença SQL que você deseja buscar como dados
 da Tabela Detail, com o detalhe de que o parametro de referência na tabela
 detail, deve ter OBRIGATÓRIAMENTE o nome exato do campo chave na tabela
 master. Veja o exemplo:
 Na tabela master queremos buscar todas as MM (movimentação de material) de
 um determinado amoxarifado:

 select IDMOV, CODTMV, SERIE, NUMEROMOV, DATAEMISSAO, DATAENTREGA,
 COMPETENCIA, CODFILIAL, CODPESSOA, CODLOCALIDADE,
 CODOSATIV, CODCONTRATO, CODLOC, CODFILIALDEST, CODLOCDEST, STATUS,
 OBSERVACAO, USRCRIACAO, DATACRIACAO, USRALTERACAO,
 DATAALTERACAO, DATAEXPORTACAO, NOMEARQEXPORT, CODCCUSTO, CODDEPTO, CODAREA
 from ZMMTMOV
 Na tabela detail, queremos buscar todos os itens da MM (movimentação de
 material) de um determinado registro master

Re: [delphi-br] [CLIENTDATASET 3 TABELAS]

2010-07-23 Por tôpico Walter Chagas (Bol)
Como que é isso?

[]s


Walter Alves Chagas Junior
Belo Horizonte - MG - Brazil
wchag...@bol.com.br
http://delphitocorporerm.blogspot.com/
MSN: whitesock...@hotmail.com
SKYPE: WalterChagasJr


- Original Message - 
From: Eny Urias enyur...@yahoo.com.br
To: delphi-br@yahoogrupos.com.br
Sent: Thursday, July 22, 2010 10:09 PM
Subject: Res: [delphi-br] [CLIENTDATASET 3 TABELAS]


Só para deixar registrado:

Eu usei por muito tempo esse esquema do DATASETFIELD para utilizar em
Master/Detail... Até que um dia, utilizando a ferramenta OraTracer para 
pegar um
comando sql do Oracle eu pude perceber que ao utilizar essa técnica, quando 
o
CDS carrega os registros do Master, ele tras também, para cada registro pai,
todos os registros do filho... Fiquei abismada com o tráfego que isso causa 
na
rede...  Quando o DBA da empresa viu disse para nunca mais utilizar dessa
forma...

Agora eu abro o CDS filho utilizando o mesmo parametro mas no evento 
AfterScroll
do CDS pai...


Alguém já fez essa verificação com outros bancos?

--
Eny Trova Urias

Somos o que repetitivamente fazemos, portanto, a excelência não é um feito, 
mas
um hábito- Aristóteles






De: Walter Chagas (Bol) wchag...@bol.com.br
Para: delphi-br@yahoogrupos.com.br
Enviadas: Quinta-feira, 22 de Julho de 2010 14:58:28
Assunto: Re: [delphi-br] [CLIENTDATASET 3 TABELAS]


Marcio,

Este passo-a-passo meu já é bem conhecido aqui na lista. Ve se te atende:

1) TODAS AS TABELAS ENVOLVIDAS NESTE PROCESSO TEM QUE TER CHAVE PRIMÁRIA E
ESTRANGEIRA, DO CONTRARIO ISTO DAÍ NÃO VAI FUNCIONAR 100% ESTÁVEL.

2) Coloque um componente TADOConnection no seu DataModule e defina as
configurações devidas nele.

3) Coloque um compoente TQuery no Datamodule ou então um TSQLDataSet. Vamos
Chamá-lo de qMaster, ou sqldMaster.

4) Coloque na propriedade SQL do qMaster, ou então na propriedade
CommandText do sqldMaster a sentença SQL que você deseja buscar como dados
da Tabela Master.

5) Dê um clique duplo na qMaster. Aparecerá o FieldsEditor. Manda adicionar
todo mundo.

6) Em cada TField, localize a propriedade providerflags. Os campos que são
chave primária na Tabela, ficaraão com pfInkey true nos, os demais ficou
false. Os pfInUpdate e pfInWhere todos ficam como true (em todos os campos).

7) Sete a propriedade CursorLocation da qMaster ou do sqldMaster pra
clUseServer

8) Se a sentença SQL da qMaster tiver parametros, ajuste as configurações
dele, na propriedade Parameters (A não configuração do parametro irá dar
pau nos ClientDatasets posteriormente)

9) Coloque um componente TDatasetProvider no Datamodule. vamos chamá-lo de
dspMaster.

10) Aponte o Dataset dele pra qMaster ou pro sqldMaster.

11) Abra a propriedade Options do dspMaster. Todas as subpropriedades dele
devem ficar como false, exceto as poCascadeDeletes, poCascadeUpdates,
poAutoRefresh. Estas tres deverão ficar setadas como True.

12) Mude a propriedade, no dspMaster, UpdateMode para upWhereKeyOnly

13) Coloque no seu Datamodule um componente TClientDataset. Vamos chamalo de
cdsMaster.

14) Aponte o Provider dele pra dspMaster.

15) Ative o cdsMaster, mudando a propreiedade Active dele para True. Dê um
clique duplo na cdsMaster. Aparecerá o FieldsEditor. Manda adicionar todo
mundo.

16) Repita o passo 6. Mas agora, você pode formatar os campos. Na
propriedade DisplayLabel, coloque um nome mais legível ao usuário. Na
propriedade Displayformat, você pode formatar valores monetários e de data
para serem exibidos. Na propriedade EditFormat voce pode formatar estes
valores para serem editados no cadastro. A propriedade Visible do TField,
permite você ocultar este campo nos DBwares.

17) Coloque no seu DataModule, um componente TDataSource. Vamos chama-lo de
dsMaster.

18) Aponte o Dataset dele para o cdsMaster.
Seu Módulo Master está pronto.
Agora vamos linkar ele ao Modulo detail.

1) Coloque no seu DataModule, um componente TDataSource. Vamos chama-lo de
dsMasterDetail.

2) Aponte o Dataset dele para o dsMaster.

3)Coloque um compoente TQuery no Datamodule ou então um TSQLDataSet. Vamos
Chamá-lo de qDetail, ou sqldDetail.

4) Coloque na propriedade SQL do qMaster, ou então na propriedade
CommandText do sqldMaster a sentença SQL que você deseja buscar como dados
da Tabela Detail, com o detalhe de que o parametro de referência na tabela
detail, deve ter OBRIGATÓRIAMENTE o nome exato do campo chave na tabela
master. Veja o exemplo:
Na tabela master queremos buscar todas as MM (movimentação de material) de
um determinado amoxarifado:

select IDMOV, CODTMV, SERIE, NUMEROMOV, DATAEMISSAO, DATAENTREGA,
COMPETENCIA, CODFILIAL, CODPESSOA, CODLOCALIDADE,
CODOSATIV, CODCONTRATO, CODLOC, CODFILIALDEST, CODLOCDEST, STATUS,
OBSERVACAO, USRCRIACAO, DATACRIACAO, USRALTERACAO,
DATAALTERACAO, DATAEXPORTACAO, NOMEARQEXPORT, CODCCUSTO, CODDEPTO, CODAREA
from ZMMTMOV
Na tabela detail, queremos buscar todos os itens da MM (movimentação de
material) de um determinado registro master:
select IDMOV

Re: [delphi-br] [CLIENTDATASET 3 TABELAS]

2010-07-23 Por tôpico Magnun Oliveira
fiquei com a mesma duvida ...

estaria no caso, trazendo todos os registros master e todos os details do
relacinamento de uma vez só ? tipo fetchall nas duas tabelas ?

Em 22 de julho de 2010 23:32, Fabricio Colombo 
fabricio.colombo@gmail.com escreveu:

 Não entendi, a idéia não é essa mesma, para cada registro do pai carregar
 os
 filhos automaticamente.

 Exemplifica o que vc constatou. O que ele tava executando
 desnecessariamente.




[As partes desta mensagem que não continham texto foram removidas]



Re: [delphi-br] [CLIENTDATASET 3 TABELAS]

2010-07-22 Por tôpico Walter Chagas (Bol)
Marcio,

Este passo-a-passo meu já é bem conhecido aqui na lista. Ve se te atende:

1) TODAS AS TABELAS ENVOLVIDAS NESTE PROCESSO TEM QUE TER CHAVE PRIMÁRIA E 
ESTRANGEIRA, DO CONTRARIO ISTO DAÍ NÃO VAI FUNCIONAR 100% ESTÁVEL. 

2) Coloque um componente TADOConnection no seu DataModule e defina as 
configurações devidas nele. 

3) Coloque um compoente TQuery no Datamodule ou então um TSQLDataSet. Vamos 
Chamá-lo de qMaster, ou sqldMaster. 

4) Coloque na propriedade SQL do qMaster, ou então na propriedade 
CommandText do sqldMaster a sentença SQL que você deseja buscar como dados 
da Tabela Master. 

5) Dê um clique duplo na qMaster. Aparecerá o FieldsEditor. Manda adicionar 
todo mundo. 

6) Em cada TField, localize a propriedade providerflags. Os campos que são 
chave primária na Tabela, ficaraão com pfInkey true nos, os demais ficou 
false. Os pfInUpdate e pfInWhere todos ficam como true (em todos os campos). 

7) Sete a propriedade CursorLocation da qMaster ou do sqldMaster pra 
clUseServer 

8) Se a sentença SQL da qMaster tiver parametros, ajuste as configurações 
dele, na propriedade Parameters (A não configuração do parametro irá dar 
pau nos ClientDatasets posteriormente) 

9) Coloque um componente TDatasetProvider no Datamodule. vamos chamá-lo de 
dspMaster. 

10) Aponte o Dataset dele pra qMaster ou pro sqldMaster. 

11) Abra a propriedade Options do dspMaster. Todas as subpropriedades dele 
devem ficar como false, exceto as poCascadeDeletes, poCascadeUpdates, 
poAutoRefresh. Estas tres deverão ficar setadas como True. 

12) Mude a propriedade, no dspMaster, UpdateMode para upWhereKeyOnly 

13) Coloque no seu Datamodule um componente TClientDataset. Vamos chamalo de 
cdsMaster. 

14) Aponte o Provider dele pra dspMaster. 

15) Ative o cdsMaster, mudando a propreiedade Active dele para True. Dê um 
clique duplo na cdsMaster. Aparecerá o FieldsEditor. Manda adicionar todo 
mundo. 

16) Repita o passo 6. Mas agora, você pode formatar os campos. Na 
propriedade DisplayLabel, coloque um nome mais legível ao usuário. Na 
propriedade Displayformat, você pode formatar valores monetários e de data 
para serem exibidos. Na propriedade EditFormat voce pode formatar estes 
valores para serem editados no cadastro. A propriedade Visible do TField, 
permite você ocultar este campo nos DBwares. 

17) Coloque no seu DataModule, um componente TDataSource. Vamos chama-lo de 
dsMaster. 

18) Aponte o Dataset dele para o cdsMaster. 
Seu Módulo Master está pronto. 
Agora vamos linkar ele ao Modulo detail. 

1) Coloque no seu DataModule, um componente TDataSource. Vamos chama-lo de 
dsMasterDetail. 

2) Aponte o Dataset dele para o dsMaster. 

3)Coloque um compoente TQuery no Datamodule ou então um TSQLDataSet. Vamos 
Chamá-lo de qDetail, ou sqldDetail. 

4) Coloque na propriedade SQL do qMaster, ou então na propriedade 
CommandText do sqldMaster a sentença SQL que você deseja buscar como dados 
da Tabela Detail, com o detalhe de que o parametro de referência na tabela 
detail, deve ter OBRIGATÓRIAMENTE o nome exato do campo chave na tabela 
master. Veja o exemplo: 
Na tabela master queremos buscar todas as MM (movimentação de material) de 
um determinado amoxarifado: 
  
select IDMOV, CODTMV, SERIE, NUMEROMOV, DATAEMISSAO, DATAENTREGA, 
COMPETENCIA, CODFILIAL, CODPESSOA, CODLOCALIDADE, 
CODOSATIV, CODCONTRATO, CODLOC, CODFILIALDEST, CODLOCDEST, STATUS, 
OBSERVACAO, USRCRIACAO, DATACRIACAO, USRALTERACAO, 
DATAALTERACAO, DATAEXPORTACAO, NOMEARQEXPORT, CODCCUSTO, CODDEPTO, CODAREA 
from ZMMTMOV 
Na tabela detail, queremos buscar todos os itens da MM (movimentação de 
material) de um determinado registro master: 
select IDMOV, NSEQITMMOV, IDPRD, QUANTIDADE, CODUND, LOTE, ROLO, PATRIMONIO 
from ZMMTITMMOV where IDMOV = :IDMOV 
ATENTE PARA O PARÂMETRO IDMOV. ELE É O MESMO NOME DO CAMPO MASTER IDMOV. 

5) repita os passos 5 e 6 da geração da query master (referentes ao Tfieds). 

6) Sete a propriedade CursorLocation da qDetail ou do sqldDetail pra 
clUseClient 

8) Repita o passo 8 da geração da query master (referentes ao parametro). 

9) Aponte o Datasource de qDetail para o dsMasterDetail. 

11) Repita o passo 15 do cdsMaster, só que agora, ao você mandar adicionar 
os TFields, irá aparecer um novo campo. Este campo é um DATASETFIELD é o elo 
de comunicação entre o seu master e o detail e deverá ter o nome qDetail. 
  
12) No cdsDetail, aponte o seu Datasetfield para qDetail. 

15) Repita o passo 16 do cdsMaster para o cdsDetail. Mesma coisa. 
Está pronta a sua tão sonhada conexão MD. 
Você pode criar ainda Details que sejam detail deste ultimo Detail que 
criamos agora. Para fazer isto, basta fazer o seguinte: 

1) Coloque no seu DataModule, um componente TDataSource. Vamos chama-lo de 
dsDetailDetail. 

2) Aponte o Dataset dele para o dsDetail. 
O resto dos procedimentos, você pode seguir os passos da criação do CDS e do 
Datasource. A unica diferença é que pra este novo caso (Detail de um Detail 
mestre), não é 

Re: [delphi-br] ClientDataSet - Out Of Memory

2010-07-19 Por tôpico Valdemir (yahoo)
Exatamente isso que eu estou fazendo agora... mudando para gravar em um banco.. 
estou estudando as possiblidades.. mas estou inclinado a usar o sqlite


From: Roni Rodrigo 
Sent: Saturday, July 17, 2010 3:11 PM
To: delphi-br@yahoogrupos.com.br 
Subject: Re: [delphi-br] ClientDataSet - Out Of Memory


  
me metendo na conversa esse seu framework não poderia manipular um 
TDataSet ou um _RecordSet ao invés do cds?
ai vc faria a consulta normalmente como o Fabiano falou... e já passaria 
o dataset ou recordset da consulta, independente do componente que 
estiver utilizando (cds, qry, procedure... ) sem necessidade de 
armazenar esses dados duplicados na memória...
o/

Em 16/07/2010 23:44, Valdemir (yahoo) escreveu:
 na verdade .. montei um framework para gerar arquivos do governo... 
 ele gera tanto arquivos de posição fixa (como o Sintegra), como 
 arquivos separados com pipe (sped), entre outras funções ele visualiza 
 os arquivos TXT como o Sintegra faz com o arquivo dele

 neste framework eu cadastro o layout, ou seja os registros, e cada 
 campo com tamanho e tipo de arquivo... e eu ao gerar o txt, ele já faz 
 algumas conferencias de acordo com o layout

 No sped, vc tem alguns registros Ex...I030 , que tem um campo com o 
 total de registros do I030 que tem a quantidade de linhas do arquivo, 
 ou seja logo no inicio do arquivo ele já me pede o total de linhas, 
 neste caso eu tenho duas opções ou antes de gerar esta linha simulo 
 a geração para saber o total de linhas, ou então arrumo um jeito de 
 editar a linha apos eu gerar o arquivo inteiro.

 Entre gerar o arquivo e abrir o texto procurando por registro/posição 
 no arquivo txt e ai substituir, eu preferi gravar tudo em cds e 
 manipular o cds alterando o que é necessário

 From: Fabiano Moura
 Sent: Friday, July 16, 2010 10:49 PM
 To: delphi-br@yahoogrupos.com.br mailto:delphi-br%40yahoogrupos.com.br
 Subject: Re: [delphi-br] ClientDataSet - Out Of Memory

 *Boa noite!*

 Valdemir, por que você pega os dados da tabela e gera no clientdataset,
 não é mais fácil você pegar (restaurar) os dados do banco e jogar 
 direto no
 arquivo texto?

 *Obrigado,*
 **
 *Fabiano*

[As partes desta mensagem que não continham texto foram removidas]





[As partes desta mensagem que não continham texto foram removidas]



Re: [delphi-br] [ ClientDataSet atualizar base offline ]

2010-07-19 Por tôpico Dirlei Dionísio
Se entendi corretamente, você poderia gerar um XML/MyBase com o delta
(registros incluidos, alterados e excluidos), parsear esse delta no cliente
e efetivar as alterações no XML/MyBase definitivo.

--
Dirlei Dionísio
Novo artigo: // Não comente seu código
http://MaisQueBomCodigo.blogspot.com


Em 19 de julho de 2010 10:50, Marcio mar...@sulfabril.com.br escreveu:





 Ola Pessoal .

 estou criando uma aplicação on/offline , gostaria de saber se é possivel
 atualizar parcialmente o clientDataset ( mybase XML ) ??

 ou seja ja baixei os dados dos clientes (sqlConetion  SqlDataset 
 provider  clienteDatSet )
 hoje , caso ocorra alguma alteracao nos dados cadastrais NO SERVIDOR ,
 baixar so
 os cliente alterados .

 ps no servidor sempre que altero um dado fica gravado a data de modificacao
 ,,

 ai poderia comparar com a ultima data do arquivo XML e tal .

 mas como sobrepor isso no cliente data set ??? sem ter que baixar toda a
 tabela de cliente ..

 alguem ja viu algo parecido ??

 alguem tem algum material para eu estudar??

 Att, Marcio. Blumenau-SC



[As partes desta mensagem que não continham texto foram removidas]



Re: [delphi-br] [ ClientDataSet atualizar base offline ]

2010-07-19 Por tôpico Marcio
Ola Dirlei !!

desculpe , mas nao captei a mensagem !!

como parsear ??

terei dois XML/CDS

cliente.xml e inclusao.xml ???


Att. MArcio






At 11:14 19/7/2010 -0300, you wrote:


Se entendi corretamente, você poderia gerar um XML/MyBase com o delta
(registros incluidos, alterados e excluidos), parsear esse delta no cliente
e efetivar as alterações no XML/MyBase definitivo.

--
Dirlei Dionísio
Novo artigo: // Não comente seu código
http://MaisQueBomCodigo.blogspot.comhttp://MaisQueBomCodigo.blogspot.com

Em 19 de julho de 2010 10:50, Marcio 
mailto:marcio%40sulfabril.com.brmar...@sulfabril.com.br escreveu:

 
 
 
 
  Ola Pessoal .
 
  estou criando uma aplicação on/offline , gostaria de saber se é possivel
  atualizar parcialmente o clientDataset ( mybase XML ) ??
 
  ou seja ja baixei os dados dos clientes (sqlConetion  SqlDataset 
  provider  clienteDatSet )
  hoje , caso ocorra alguma alteracao nos dados cadastrais NO SERVIDOR ,
  baixar so
  os cliente alterados .
 
  ps no servidor sempre que altero um dado fica gravado a data de modificacao
  ,,
 
  ai poderia comparar com a ultima data do arquivo XML e tal .
 
  mas como sobrepor isso no cliente data set ??? sem ter que baixar toda a
  tabela de cliente ..
 
  alguem ja viu algo parecido ??
 
  alguem tem algum material para eu estudar??
 
  Att, Marcio. Blumenau-SC
 

[As partes desta mensagem que não continham texto foram removidas]




[As partes desta mensagem que não continham texto foram removidas]



RE: [delphi-br] [ ClientDataSet atualizar base offline ]

2010-07-19 Por tôpico Rubem Nascimento da Rocha

Interessante essa discussão. Gostaria tb de saber como poderia pegar uma massa 
de dados, seja em formato MyBase ou XML Datapacket do ClientDataSet, e 
aplicá-la para ser atualizada em um banco de dados. Esa discussão é 
interessante para o caso de atuação do cliente off-line até que o servidor 
volte à operar.


Sds.
 


To: delphi-br@yahoogrupos.com.br
From: mar...@sulfabril.com.br
Date: Mon, 19 Jul 2010 13:03:50 -0300
Subject: Re: [delphi-br] [ ClientDataSet atualizar base offline ]

  



Ola Dirlei !!

desculpe , mas nao captei a mensagem !!

como parsear ??

terei dois XML/CDS

cliente.xml e inclusao.xml ???

Att. MArcio

At 11:14 19/7/2010 -0300, you wrote:


Se entendi corretamente, você poderia gerar um XML/MyBase com o delta
(registros incluidos, alterados e excluidos), parsear esse delta no cliente
e efetivar as alterações no XML/MyBase definitivo.

--
Dirlei Dionísio
Novo artigo: // Não comente seu código
http://MaisQueBomCodigo.blogspot.comhttp://MaisQueBomCodigo.blogspot.com

Em 19 de julho de 2010 10:50, Marcio 
mailto:marcio%40sulfabril.com.brmar...@sulfabril.com.br escreveu:

 
 
 
 
  Ola Pessoal .
 
  estou criando uma aplicação on/offline , gostaria de saber se é possivel
  atualizar parcialmente o clientDataset ( mybase XML ) ??
 
  ou seja ja baixei os dados dos clientes (sqlConetion  SqlDataset 
  provider  clienteDatSet )
  hoje , caso ocorra alguma alteracao nos dados cadastrais NO SERVIDOR ,
  baixar so
  os cliente alterados .
 
  ps no servidor sempre que altero um dado fica gravado a data de modificacao
  ,,
 
  ai poderia comparar com a ultima data do arquivo XML e tal .
 
  mas como sobrepor isso no cliente data set ??? sem ter que baixar toda a
  tabela de cliente ..
 
  alguem ja viu algo parecido ??
 
  alguem tem algum material para eu estudar??
 
  Att, Marcio. Blumenau-SC
 

[As partes desta mensagem que não continham texto foram removidas]



  
_
TRANSFORME SUAS FOTOS EM EMOTICONS PARA O MESSENGER. CLIQUE AQUI PARA COMEÇAR.
http://ilm.windowslive.com.br/?ocid=ILM:Live:Hotmail:Tagline:senDimensao:TRANSFORME78:-

[As partes desta mensagem que não continham texto foram removidas]



Re: [delphi-br] [ClientDataSet atualizar base offline ]

2010-07-19 Por tôpico Dirlei Dionísio
Marcio, vou te sugerir a maneira mais simples de resolver isso que me vem à
mente agora, mas com certeza essa não é a única alternativa. Vamos lá.

PS1: Estou pertindo do princípio que a atualização ocorre apenas no sentido
SERVIDOR-CLIENTE, como eu entendi.

Na tabela transportadora, além do campo DataMod, você precisa também ter
um campo para informar que tipo de operação foi feita. Poderia ser, por
exemplo, TipoMod. Os valores possíveis seriam I, A e E,
significando, Inclusão, Alteração e Exclusão, respectivamente.

PS2: Quando uma transportadora for excluída no servidor, o registro não
poderá ser fisicamente excluído até que os cliente tenham sincronizado essa
exclusão com suas bases locais.

Para sincronizar as alterações do servidor com os clientes, você faz o
seguinte:

1 - um select * from Transportadora where
DATAMOD:DATA_E_HORA_DA_ULTIMA_SINCRONIZACAO_DO_CLIENTE

2 - carrega o dspTransportadora.cds para a memória

3 - percorre cada registro da query executada no servidor e verifica o campo
TipoMod.
- se o conteudo for:
  - I, INCLUI o registro no dataset que foi carregado com o
dspTransportadora.cds
  - A, localiza o registro no dataset que foi carregado com o
dspTransportadora.cds e faz a ALTERACAO
  - E, localiza o registro no dataset que foi carregado com o
dspTransportadora.cds e faz a EXCLUSAO

4 - salva o dataset que foi carregado com o dspTransportadora.cds em disco

5 - grava em algum lugar a data e hora da última sincronização do cliente
com o servidor.

Posso ter esquecido algum detalhe, mas de modo geral, essa é uma solução
possível para o seu problema.

Um abraço,

--
Dirlei Dionísio
Novo artigo: // Não comente seu código
http://MaisQueBomCodigo.blogspot.com


Em 19 de julho de 2010 13:31, Marcio mar...@sulfabril.com.br escreveu:



 deixa eu explicar melhor para baixar a base faco desta maneira :

 Aplicação servidora :

 SqlDataset : Select * from transportadora

 Aplicação Cliente :

 Cds := TClientDataSet.Create(nil);
 Cds.RemoteServer := SoapConnection1;
 SoapConnection1.Connected := True;

 Cds.Close;
 Cds.ProviderName := 'dspTransportadora' ;
 Cds.Open;
 //Cds.SaveToFile('dspTransportadora' + '.XML');
 Cds.SaveToFile('dspTransportadora.cds',dfBinary);
 Cds.Free;
 ShowMessage('arquivo baixado');
 exit;

 desta maneira baixei todas as transportadora , mas se eu quiser so
 atualizar o
 dspTransportadora.xml ?

 se eu fizer um select ,
 SqlDataset : Select * from transportadora where DataMod = :DataMod

 como faco para unir com o dspTransportadora.xml com os registros do sql ??

 att. Marcio

 At 07:33 19/7/2010 -0700, you wrote:
 
 
 Amigo como você falou que grava a data de alteração de cada registro
 você pode simplesmente gerar um SQL (select) que filtre somente pela
 data de alteração, poderia ser registro a registro porque ai você
 teria como comparar a data do registro do arquivo local com a do
 que estar no Server.
 Estando usando ClientDataSet + XML é só desativar o ChangeLog do CDS
 para não manter o registro antigo.
 
 isso resolve?
 
 ===
  Jean Barreiros
  Programador/Web-Designer
  Delphi|C++|PHP|JavaScript
  FireBird|MySql|SQLServer
  PostGree|Oracle
  msn: delphij...@gmail.com delphijean%40gmail.com
  e-mail: delphij...@yahoo.com.br delphijean%40yahoo.com.br
 ===
 
 
 
 De: Marcio mar...@sulfabril.com.br marcio%40sulfabril.com.br
 Para: n...@yahoogrupos.com.br NDDV%40yahoogrupos.com.br
 Enviadas: Segunda-feira, 19 de Julho de 2010 11:15:58
 Assunto: Re: [NDDV] [ ClientDataSet atualizar base offline ]
 
 
 
 
 
 Daniel ,obrigado pela atençao.
 
 Bom ..
 Estou tentando(tenho) construir uma aplicacao para os vendedores externos
 da empresa .
 
 esta aplicao vai ser off-line / online.
 
 os vendedores antes de ir ao cliente baixam a base com os dados
 atualizados
 ou uma vez
 por semana ..
 
 estou baixando os dados via SOAP , mas o problema é se cada vez que
 atualizar a
 base cliente tiver que trazer tudo , fica muito pesado .
 
 pretendo atualizar a BASE cliente somente com os registros novos no
 servidor .
 
 estive pesquisando sobre compressao de dados no datapack mais nao
 encontrei
 nada .
 
 é possivel isso ??
 
 At. Marcio

 
 
 
 

 [As partes desta mensagem que não continham texto foram removidas]

  



[As partes desta mensagem que não continham texto foram removidas]





-- 
 FAVOR REMOVER ESTA PARTE AO RESPONDER ESTA MENSAGEM 

* Para ver as mensagens antigas, acesse:
http://br.groups.yahoo.com/group/delphi-br/messages

* Para falar com o moderador, envie um e-mail para:
delphi-br-ow...@yahoogrupos.com.br
Links do Yahoo! Grupos

* Para visitar o site do seu grupo na web, acesse:
http://br.groups.yahoo.com/group/delphi-br/

* Para sair deste grupo, envie um e-mail para:
delphi-br-unsubscr...@yahoogrupos.com.br

* O uso que você faz do Yahoo! Grupos está sujeito aos:
http://br.yahoo.com/info/utos.html




Re: [delphi-br] [ClientDataSet atualizar base offline ]

2010-07-19 Por tôpico Fabricio Colombo
Pra juntar dados, vc pode usar o método AppendData.

Vc já tem um xml salvo, então vc carrega ele normalmente. Então vc faz um
select com os registros alterados e carrega em outro ClientDataset e usa o
AppendData.

vDataSetLocal.LoadFromFile('dspTransportadora.cds');

vDataSetAlteracoes := DadosAlterados do servidor.

vDataSetLoca.AppendData(vDataSetAlteracoes.Data, True);

Acredito que funcione.

Em 19 de julho de 2010 13:31, Marcio mar...@sulfabril.com.br escreveu:



 deixa eu explicar melhor para baixar a base faco desta maneira :

 Aplicação servidora :

 SqlDataset : Select * from transportadora

 Aplicação Cliente :

 Cds := TClientDataSet.Create(nil);
 Cds.RemoteServer := SoapConnection1;
 SoapConnection1.Connected := True;

 Cds.Close;
 Cds.ProviderName := 'dspTransportadora' ;
 Cds.Open;
 //Cds.SaveToFile('dspTransportadora' + '.XML');
 Cds.SaveToFile('dspTransportadora.cds',dfBinary);
 Cds.Free;
 ShowMessage('arquivo baixado');
 exit;

 desta maneira baixei todas as transportadora , mas se eu quiser so
 atualizar o
 dspTransportadora.xml ?

 se eu fizer um select ,
 SqlDataset : Select * from transportadora where DataMod = :DataMod

 como faco para unir com o dspTransportadora.xml com os registros do sql ??

 att. Marcio


 At 07:33 19/7/2010 -0700, you wrote:
 
 
 Amigo como você falou que grava a data de alteração de cada registro
 você pode simplesmente gerar um SQL (select) que filtre somente pela
 data de alteração, poderia ser registro a registro porque ai você

 teria como comparar a data do registro do arquivo local com a do
 que estar no Server.
 Estando usando ClientDataSet + XML é só desativar o ChangeLog do CDS
 para não manter o registro antigo.

 
 isso resolve?
 
 ===
  Jean Barreiros
  Programador/Web-Designer
  Delphi|C++|PHP|JavaScript
  FireBird|MySql|SQLServer
  PostGree|Oracle
  msn: delphij...@gmail.com delphijean%40gmail.com
  e-mail: delphij...@yahoo.com.br delphijean%40yahoo.com.br
 ===
 
 
 
 De: Marcio mar...@sulfabril.com.br marcio%40sulfabril.com.br
 Para: n...@yahoogrupos.com.br NDDV%40yahoogrupos.com.br
 Enviadas: Segunda-feira, 19 de Julho de 2010 11:15:58
 Assunto: Re: [NDDV] [ ClientDataSet atualizar base offline ]
 
 
 
 
 
 Daniel ,obrigado pela atençao.

 
 Bom ..
 Estou tentando(tenho) construir uma aplicacao para os vendedores externos
 da empresa .
 
 esta aplicao vai ser off-line / online.
 
 os vendedores antes de ir ao cliente baixam a base com os dados
 atualizados
 ou uma vez
 por semana ..
 
 estou baixando os dados via SOAP , mas o problema é se cada vez que
 atualizar a
 base cliente tiver que trazer tudo , fica muito pesado .
 
 pretendo atualizar a BASE cliente somente com os registros novos no
 servidor .
 
 estive pesquisando sobre compressao de dados no datapack mais nao
 encontrei
 nada .
 
 é possivel isso ??
 
 At. Marcio
 
 
 
 

 [As partes desta mensagem que não continham texto foram removidas]

  



[As partes desta mensagem que não continham texto foram removidas]





-- 
 FAVOR REMOVER ESTA PARTE AO RESPONDER ESTA MENSAGEM 

* Para ver as mensagens antigas, acesse:
http://br.groups.yahoo.com/group/delphi-br/messages

* Para falar com o moderador, envie um e-mail para:
delphi-br-ow...@yahoogrupos.com.br
Links do Yahoo! Grupos

* Para visitar o site do seu grupo na web, acesse:
http://br.groups.yahoo.com/group/delphi-br/

* Para sair deste grupo, envie um e-mail para:
delphi-br-unsubscr...@yahoogrupos.com.br

* O uso que você faz do Yahoo! Grupos está sujeito aos:
http://br.yahoo.com/info/utos.html




Re: [delphi-br] ClientDataSet - Out Of Memory

2010-07-18 Por tôpico Roni Rodrigo
me metendo na conversa esse seu framework não poderia manipular um 
TDataSet ou um _RecordSet ao invés do cds?
ai vc faria a consulta normalmente como o Fabiano falou... e já passaria 
o dataset ou recordset da consulta, independente do componente que 
estiver utilizando (cds, qry, procedure... ) sem necessidade de 
armazenar esses dados duplicados na memória...
o/

Em 16/07/2010 23:44, Valdemir (yahoo) escreveu:
 na verdade .. montei um framework para gerar arquivos do governo... 
 ele gera tanto arquivos de posição fixa (como o Sintegra), como 
 arquivos separados com pipe (sped), entre outras funções ele visualiza 
 os arquivos TXT como o Sintegra faz com o arquivo dele

 neste framework eu cadastro o layout, ou seja os registros, e cada 
 campo com tamanho e tipo de arquivo... e eu ao gerar o txt, ele já faz 
 algumas conferencias de acordo com o layout

 No sped, vc tem alguns registros Ex...I030 , que tem um campo com o 
 total de registros do I030 que tem a quantidade de linhas do arquivo, 
 ou seja logo no inicio do arquivo ele já me pede o total de linhas, 
 neste caso eu tenho duas opções ou antes de gerar esta linha simulo 
 a geração para saber o total de linhas, ou então arrumo um jeito de 
 editar a linha apos eu gerar o arquivo inteiro.

 Entre gerar o arquivo e abrir o texto procurando por registro/posição 
 no arquivo txt e ai substituir, eu preferi gravar tudo em cds e 
 manipular o cds alterando o que é necessário

 From: Fabiano Moura
 Sent: Friday, July 16, 2010 10:49 PM
 To: delphi-br@yahoogrupos.com.br mailto:delphi-br%40yahoogrupos.com.br
 Subject: Re: [delphi-br] ClientDataSet - Out Of Memory

 *Boa noite!*

 Valdemir, por que você pega os dados da tabela e gera no clientdataset,
 não é mais fácil você pegar (restaurar) os dados do banco e jogar 
 direto no
 arquivo texto?

 *Obrigado,*
 **
 *Fabiano*



[As partes desta mensagem que não continham texto foram removidas]



Re: [delphi-br] ClientDataSet - Out Of Memory

2010-07-16 Por tôpico Valdemir (yahoo)
delphi 2010, sped contabil... com mais ou menos 400 mil lançamentos no ano de 
2009


From: Jean Barreiros 
Sent: Friday, July 16, 2010 1:23 PM
To: delphi-br@yahoogrupos.com.br 
Subject: Res: [delphi-br] ClientDataSet - Out Of Memory


  
Olá amigo qual versão do delphi você tá usando
e qual SPED você star gerando o txt, Fiscal ou Contabil?
===
Jean Barreiros
Programador/Web-Designer
Delphi|C++|PHP|JavaScript
FireBird|MySql|SQLServer
PostGree|Oracle
msn: delphij...@gmail.com
e-mail: delphij...@yahoo.com.br
===


De: Valdemir (yahoo) valdemi...@yahoo.com.br
Para: delphi-br@yahoogrupos.com.br
Enviadas: Quinta-feira, 15 de Julho de 2010 18:08:49
Assunto: [delphi-br] ClientDataSet - Out Of Memory

Pessoal estou montando uma rotina para gerar o sped, em um movimento pequeno ok 
a rotina roda legal, mas em um movimento grande ao dar insert no CDS da erro 
Out 
Of Memory, apos processar um grande numero de registros

Eu tenho um CDS onde vou armazenando os dados, para depois fazer um loop e 
jogar 
no TXT, para mim foi a saída mais fácil que eu encontrei, primeiro leio as 
tabelas e jogo no CDS, ai no CDS já com os dados no formato do governo, faço um 
loop no cds e gravo para o txt

A principio estava usando um CDS em memoria, e ai é logico que deu o erro, mas 
ao preencher a propriedade FileName com o nome do arquivo ... ele começou a 
gerar os dados em arquivo binário, até ai ok, mas não encontrei nenhuma 
propriedade que eu informo que ele descarregue da memoria ram a cada x 
registros, então mesmo informado a propriedade nome do arquivo .. ele cria um 
arquivo.. e começa o processo, mas o tamanho fica com 0 até dar out of memory, 
e 
ai o tamanho do arquivo salta de 0 para um numero em bytes que ele conseguiu 
gerar

Da a entender que mesmo informando o FileName, ele continua trabalhando somente 
com memoria ram, e só descarrega ela.. quando da o erro, eu imaginei que como 
esta informado o nome do arquivo, ele automaticamente ao carregar a RAM iria 
salvar os dados em disco, procurei no help mas não encontrei nenhum método ou 
propriedade para isso, antigamente no bde existia uma api para isso, mas no 
ClientDataSet eu não encontrei

Alguém faz idéia do que possa estar ocorrendo ?

Obrigado
Valdemir

[As partes desta mensagem que não continham texto foram removidas]

[As partes desta mensagem que não continham texto foram removidas]





[As partes desta mensagem que não continham texto foram removidas]



Re: [delphi-br] ClientDataSet - Out Of Memory

2010-07-16 Por tôpico Fabiano Moura
*Boa noite!*

  Valdemir, por que você pega os dados da tabela e gera no clientdataset,
não é mais fácil você pegar (restaurar) os dados do banco e jogar direto no
arquivo texto?



*Obrigado,*
**
*Fabiano*

Em 16 de julho de 2010 22:31, Valdemir (yahoo)
valdemi...@yahoo.com.brescreveu:

 delphi 2010, sped contabil... com mais ou menos 400 mil lançamentos no ano
 de 2009


 From: Jean Barreiros
 Sent: Friday, July 16, 2010 1:23 PM
 To: delphi-br@yahoogrupos.com.br
 Subject: Res: [delphi-br] ClientDataSet - Out Of Memory



 Olá amigo qual versão do delphi você tá usando
 e qual SPED você star gerando o txt, Fiscal ou Contabil?
 ===
 Jean Barreiros
 Programador/Web-Designer
 Delphi|C++|PHP|JavaScript
 FireBird|MySql|SQLServer
 PostGree|Oracle
 msn: delphij...@gmail.com
 e-mail: delphij...@yahoo.com.br
 ===

 
 De: Valdemir (yahoo) valdemi...@yahoo.com.br
 Para: delphi-br@yahoogrupos.com.br
 Enviadas: Quinta-feira, 15 de Julho de 2010 18:08:49
 Assunto: [delphi-br] ClientDataSet - Out Of Memory

 Pessoal estou montando uma rotina para gerar o sped, em um movimento
 pequeno ok
 a rotina roda legal, mas em um movimento grande ao dar insert no CDS da
 erro Out
 Of Memory, apos processar um grande numero de registros

 Eu tenho um CDS onde vou armazenando os dados, para depois fazer um loop e
 jogar
 no TXT, para mim foi a saída mais fácil que eu encontrei, primeiro leio as
 tabelas e jogo no CDS, ai no CDS já com os dados no formato do governo,
 faço um
 loop no cds e gravo para o txt

 A principio estava usando um CDS em memoria, e ai é logico que deu o erro,
 mas
 ao preencher a propriedade FileName com o nome do arquivo ... ele começou a
 gerar os dados em arquivo binário, até ai ok, mas não encontrei nenhuma
 propriedade que eu informo que ele descarregue da memoria ram a cada x
 registros, então mesmo informado a propriedade nome do arquivo .. ele cria
 um
 arquivo.. e começa o processo, mas o tamanho fica com 0 até dar out of
 memory, e
 ai o tamanho do arquivo salta de 0 para um numero em bytes que ele
 conseguiu
 gerar

 Da a entender que mesmo informando o FileName, ele continua trabalhando
 somente
 com memoria ram, e só descarrega ela.. quando da o erro, eu imaginei que
 como
 esta informado o nome do arquivo, ele automaticamente ao carregar a RAM
 iria
 salvar os dados em disco, procurei no help mas não encontrei nenhum método
 ou
 propriedade para isso, antigamente no bde existia uma api para isso, mas no
 ClientDataSet eu não encontrei

 Alguém faz idéia do que possa estar ocorrendo ?

 Obrigado
 Valdemir

 [As partes desta mensagem que não continham texto foram removidas]

 [As partes desta mensagem que não continham texto foram removidas]





 [As partes desta mensagem que não continham texto foram removidas]



 

 --
  FAVOR REMOVER ESTA PARTE AO RESPONDER ESTA MENSAGEM 






[As partes desta mensagem que não continham texto foram removidas]



Re: [delphi-br] ClientDataSet - Out Of Memory

2010-07-16 Por tôpico Valdemir (yahoo)
na verdade .. montei um framework para gerar arquivos do governo... ele gera 
tanto arquivos de posição fixa (como o Sintegra), como arquivos separados com 
pipe (sped), entre outras funções ele visualiza os arquivos TXT como o Sintegra 
faz com o arquivo dele

neste framework eu cadastro o layout, ou seja os registros, e cada campo com 
tamanho e tipo de arquivo... e eu ao gerar o txt, ele já faz algumas 
conferencias de acordo com o layout

No sped, vc tem alguns registros Ex...I030 , que tem um campo com o total de 
registros do I030 que tem a quantidade de linhas do arquivo, ou seja logo no 
inicio do arquivo ele já me pede o total de linhas, neste caso eu tenho duas 
opções ou antes de gerar esta linha simulo a geração para saber o total de 
linhas, ou então arrumo um jeito de editar a linha apos eu gerar o arquivo 
inteiro.

Entre gerar o arquivo e abrir o texto procurando por registro/posição no 
arquivo txt e ai substituir, eu preferi gravar tudo em cds e manipular o cds 
alterando o que é necessário


From: Fabiano Moura 
Sent: Friday, July 16, 2010 10:49 PM
To: delphi-br@yahoogrupos.com.br 
Subject: Re: [delphi-br] ClientDataSet - Out Of Memory


  
*Boa noite!*

Valdemir, por que você pega os dados da tabela e gera no clientdataset,
não é mais fácil você pegar (restaurar) os dados do banco e jogar direto no
arquivo texto?

*Obrigado,*
**
*Fabiano*

Em 16 de julho de 2010 22:31, Valdemir (yahoo)
valdemi...@yahoo.com.brescreveu:

 delphi 2010, sped contabil... com mais ou menos 400 mil lançamentos no ano
 de 2009


 From: Jean Barreiros
 Sent: Friday, July 16, 2010 1:23 PM
 To: delphi-br@yahoogrupos.com.br
 Subject: Res: [delphi-br] ClientDataSet - Out Of Memory



 Olá amigo qual versão do delphi você tá usando
 e qual SPED você star gerando o txt, Fiscal ou Contabil?
 ===
 Jean Barreiros
 Programador/Web-Designer
 Delphi|C++|PHP|JavaScript
 FireBird|MySql|SQLServer
 PostGree|Oracle
 msn: delphij...@gmail.com
 e-mail: delphij...@yahoo.com.br
 ===

 
 De: Valdemir (yahoo) valdemi...@yahoo.com.br
 Para: delphi-br@yahoogrupos.com.br
 Enviadas: Quinta-feira, 15 de Julho de 2010 18:08:49
 Assunto: [delphi-br] ClientDataSet - Out Of Memory

 Pessoal estou montando uma rotina para gerar o sped, em um movimento
 pequeno ok
 a rotina roda legal, mas em um movimento grande ao dar insert no CDS da
 erro Out
 Of Memory, apos processar um grande numero de registros

 Eu tenho um CDS onde vou armazenando os dados, para depois fazer um loop e
 jogar
 no TXT, para mim foi a saída mais fácil que eu encontrei, primeiro leio as
 tabelas e jogo no CDS, ai no CDS já com os dados no formato do governo,
 faço um
 loop no cds e gravo para o txt

 A principio estava usando um CDS em memoria, e ai é logico que deu o erro,
 mas
 ao preencher a propriedade FileName com o nome do arquivo ... ele começou a
 gerar os dados em arquivo binário, até ai ok, mas não encontrei nenhuma
 propriedade que eu informo que ele descarregue da memoria ram a cada x
 registros, então mesmo informado a propriedade nome do arquivo .. ele cria
 um
 arquivo.. e começa o processo, mas o tamanho fica com 0 até dar out of
 memory, e
 ai o tamanho do arquivo salta de 0 para um numero em bytes que ele
 conseguiu
 gerar

 Da a entender que mesmo informando o FileName, ele continua trabalhando
 somente
 com memoria ram, e só descarrega ela.. quando da o erro, eu imaginei que
 como
 esta informado o nome do arquivo, ele automaticamente ao carregar a RAM
 iria
 salvar os dados em disco, procurei no help mas não encontrei nenhum método
 ou
 propriedade para isso, antigamente no bde existia uma api para isso, mas no
 ClientDataSet eu não encontrei

 Alguém faz idéia do que possa estar ocorrendo ?

 Obrigado
 Valdemir

 [As partes desta mensagem que não continham texto foram removidas]

 [As partes desta mensagem que não continham texto foram removidas]





 [As partes desta mensagem que não continham texto foram removidas]



 

 --
  FAVOR REMOVER ESTA PARTE AO RESPONDER ESTA MENSAGEM 





[As partes desta mensagem que não continham texto foram removidas]





[As partes desta mensagem que não continham texto foram removidas]



Re: [delphi-br] ClientDataSet - Out Of Memory

2010-07-15 Por tôpico Fabricio Colombo
Eu já tive problemas utilizando TClientDataSet em memória parecido com isso
devido a grande quantidade de registros, sem falar no desempenho deplorável.
Agora utilizo um componente da devart chamado VirtualTable que vem junto com
o ODAC da devart,  mais é pago. Se não me engano, o JEDI VCl tem um
componente chamado TJvMemoryTable, nunca usei, mais acredito ser mais
otimizado.

Em 15 de julho de 2010 18:08, Valdemir (yahoo)
valdemi...@yahoo.com.brescreveu:



 Pessoal estou montando uma rotina para gerar o sped, em um movimento
 pequeno ok a rotina roda legal, mas em um movimento grande ao dar insert no
 CDS da erro Out Of Memory, apos processar um grande numero de registros

 Eu tenho um CDS onde vou armazenando os dados, para depois fazer um loop e
 jogar no TXT, para mim foi a saída mais fácil que eu encontrei, primeiro
 leio as tabelas e jogo no CDS, ai no CDS já com os dados no formato do
 governo, faço um loop no cds e gravo para o txt

 A principio estava usando um CDS em memoria, e ai é logico que deu o erro,
 mas ao preencher a propriedade FileName com o nome do arquivo ... ele
 começou a gerar os dados em arquivo binário, até ai ok, mas não encontrei
 nenhuma propriedade que eu informo que ele descarregue da memoria ram a cada
 x registros, então mesmo informado a propriedade nome do arquivo .. ele cria
 um arquivo.. e começa o processo, mas o tamanho fica com 0 até dar out of
 memory, e ai o tamanho do arquivo salta de 0 para um numero em bytes que ele
 conseguiu gerar

 Da a entender que mesmo informando o FileName, ele continua trabalhando
 somente com memoria ram, e só descarrega ela.. quando da o erro, eu imaginei
 que como esta informado o nome do arquivo, ele automaticamente ao carregar a
 RAM iria salvar os dados em disco, procurei no help mas não encontrei nenhum
 método ou propriedade para isso, antigamente no bde existia uma api para
 isso, mas no ClientDataSet eu não encontrei

 Alguém faz idéia do que possa estar ocorrendo ?

 Obrigado
 Valdemir

 [As partes desta mensagem que não continham texto foram removidas]

  



[As partes desta mensagem que não continham texto foram removidas]





-- 
 FAVOR REMOVER ESTA PARTE AO RESPONDER ESTA MENSAGEM 

* Para ver as mensagens antigas, acesse:
http://br.groups.yahoo.com/group/delphi-br/messages

* Para falar com o moderador, envie um e-mail para:
delphi-br-ow...@yahoogrupos.com.br
Links do Yahoo! Grupos

* Para visitar o site do seu grupo na web, acesse:
http://br.groups.yahoo.com/group/delphi-br/

* Para sair deste grupo, envie um e-mail para:
delphi-br-unsubscr...@yahoogrupos.com.br

* O uso que você faz do Yahoo! Grupos está sujeito aos:
http://br.yahoo.com/info/utos.html




Re: [delphi-br] ClientDataSet - Out Of Memory

2010-07-15 Por tôpico Dirlei Dionísio
Valdemir, se você prefere jogar os dados num ClientDataset para depois
passar para um TXT, não precisa acumular todos os dados no
ClientDataset para só no final gravar no TXT. Faça isso registro a
registro, assim você só manterá em memória um registro por vez.


--
Dirlei Dionísio
http://MaisQueBomCodigo.blogspot.com



Em 15 de julho de 2010 18:19, Fabricio Colombo
fabricio.colombo@gmail.com escreveu:
 Eu já tive problemas utilizando TClientDataSet em memória parecido com isso
 devido a grande quantidade de registros, sem falar no desempenho deplorável.
 Agora utilizo um componente da devart chamado VirtualTable que vem junto com
 o ODAC da devart,  mais é pago. Se não me engano, o JEDI VCl tem um
 componente chamado TJvMemoryTable, nunca usei, mais acredito ser mais
 otimizado.

 Em 15 de julho de 2010 18:08, Valdemir (yahoo)
 valdemi...@yahoo.com.brescreveu:



 Pessoal estou montando uma rotina para gerar o sped, em um movimento
 pequeno ok a rotina roda legal, mas em um movimento grande ao dar insert no
 CDS da erro Out Of Memory, apos processar um grande numero de registros

 Eu tenho um CDS onde vou armazenando os dados, para depois fazer um loop e
 jogar no TXT, para mim foi a saída mais fácil que eu encontrei, primeiro
 leio as tabelas e jogo no CDS, ai no CDS já com os dados no formato do
 governo, faço um loop no cds e gravo para o txt

 A principio estava usando um CDS em memoria, e ai é logico que deu o erro,
 mas ao preencher a propriedade FileName com o nome do arquivo ... ele
 começou a gerar os dados em arquivo binário, até ai ok, mas não encontrei
 nenhuma propriedade que eu informo que ele descarregue da memoria ram a cada
 x registros, então mesmo informado a propriedade nome do arquivo .. ele cria
 um arquivo.. e começa o processo, mas o tamanho fica com 0 até dar out of
 memory, e ai o tamanho do arquivo salta de 0 para um numero em bytes que ele
 conseguiu gerar

 Da a entender que mesmo informando o FileName, ele continua trabalhando
 somente com memoria ram, e só descarrega ela.. quando da o erro, eu imaginei
 que como esta informado o nome do arquivo, ele automaticamente ao carregar a
 RAM iria salvar os dados em disco, procurei no help mas não encontrei nenhum
 método ou propriedade para isso, antigamente no bde existia uma api para
 isso, mas no ClientDataSet eu não encontrei

 Alguém faz idéia do que possa estar ocorrendo ?

 Obrigado
 Valdemir

 [As partes desta mensagem que não continham texto foram removidas]





 [As partes desta mensagem que não continham texto foram removidas]



 

 --
  FAVOR REMOVER ESTA PARTE AO RESPONDER ESTA MENSAGEM 






Re: [delphi-br] Clientdataset grava registro antigo em XML

2010-07-13 Por tôpico Alisson
Gustavo, funcionou. Só tenho que ter o cuidado de colocar o código logo após a 
abertura do Clientdataset. Se colocar após editar o client não funciona. Valeu, 
muito obrigado!


Alisson





- Original Message - 
From: Gustavo Teruel 
To: delphi-br@yahoogrupos.com.br 
Sent: Tuesday, July 13, 2010 12:39 PM
Subject: RES: [delphi-br] Clientdataset grava registro antigo em XML

Coloque assim:

ClientDataSet.LogChanges:=False;
Acredito que irá funcionar.

Teruel


[As partes desta mensagem que não continham texto foram removidas]



Re: [delphi-br] ClientDataSet

2010-05-03 Por tôpico Marcos Abreu Ferreira
Eny,

não uso banco de dados na aplicação. Recebo as informações por socket e as
vou salvando em um ClientDataSet e com o tempo as vou processando. Para que
ela não seja reprocessada, gostaria de marcar com um X em um determinado
campo no processamento daquele determinado registro. Logo depois do
processamento de todos os registros, quero apagar os que estiverem marcado
com o X para liberar memória. Pensei em fazer isso, pois enquanto faço o
processamento, o sistema pode estar recebendo novos registros.

Em 1 de maio de 2010 20:48, Eny Urias enyur...@yahoo.com.br escreveu:

 Você tem duas opções...

 Aplicar um filtro com o estado que vc quer e fazer um while e ir apagando
 um por um processo + demorado...

 Usar um componente para fazer o delete no banco usando um parametro com o
 estado que vc quer.. processo + rapido...

 Aí vai de vc escolher

 --
 Eny Trova Urias

 Somos o que repetitivamente fazemos, portanto, a excelência não é um
 feito, mas um hábito- Aristóteles

 
 De: Marcos Abreu Ferreira maferreira...@gmail.commaferreira.f2%40gmail.com
 
 Para: lista-del...@yahoogrupos.com.br lista-delphi%40yahoogrupos.com.br;
 delphi-br@yahoogrupos.com.br delphi-br%40yahoogrupos.com.br
 Enviadas: Sábado, 1 de Maio de 2010 18:35:26
 Assunto: [delphi-br] ClientDataSet
 Pessoal,

 Tenho um clientdataset com 3 campos

 -Codigo (string,12)
 -Nome (string,35)
 -Estado (string,2)

 Preciso colocar uma ação num botao onde eu vá apagar os registros de um
 determinado estado no clientdataset. Como fazer?

 Att,

 marcos



[As partes desta mensagem que não continham texto foram removidas]



Re: [delphi-br] ClientDataSet

2010-05-03 Por tôpico José Luis Fernandes Rezende
Marcos,
Sugiro o download de uma aplicação do Guinther Pauli que exemplifica o que 
você precisa e muito mais...
http://cc.embarcadero.com/Item/17644

Se vc tem cadastro no CodeCentral da Embarcadero, basta entrar com seu login 
e baixar o source.
No topo da página tem um link LOG ON, clique ali e na próxima tela 
preencha seu dados ou clique no
Join Today para fazer um cadastro.. Eu recomendo, tem muito conteúdo 
interessante e o melhor, free.

Att, José Luis

- Original Message - 
From: Rubem Rocha rubem.ro...@dtmanaus.com.br
To: delphi-br@yahoogrupos.com.br
Sent: Monday, May 03, 2010 12:02 PM
Subject: RES: [delphi-br] ClientDataSet


Informe-se no help do Delphi sobre a propriedade UpdateStatus do
TClientDataSet. Acredito que este seja o caminho. Veja exemplo de uso desta
propriedade (extraído do help do Delphi 7).



procedure TDBClientTest.ProviderUpdateData(Sender: TObject; DataSet:
TCustomClientDataSet);



begin

  with DataSet do

while not EOF do

begin

  if UpdateStatus = usDeleted then

LogDelete(DataSet, UserName, Date, Time);

  Next;

end;

end;



Sds.



De: delphi-br@yahoogrupos.com.br [mailto:delphi...@yahoogrupos.com.br] Em
nome de Marcos Abreu Ferreira
Enviada em: segunda-feira, 3 de maio de 2010 11:01
Para: delphi-br@yahoogrupos.com.br
Assunto: Re: [delphi-br] ClientDataSet





Eny,

não uso banco de dados na aplicação. Recebo as informações por socket e as
vou salvando em um ClientDataSet e com o tempo as vou processando. Para que
ela não seja reprocessada, gostaria de marcar com um X em um determinado
campo no processamento daquele determinado registro. Logo depois do
processamento de todos os registros, quero apagar os que estiverem marcado
com o X para liberar memória. Pensei em fazer isso, pois enquanto faço o
processamento, o sistema pode estar recebendo novos registros.

Em 1 de maio de 2010 20:48, Eny Urias enyur...@yahoo.com.br
mailto:enyurias%40yahoo.com.br  escreveu:

 Você tem duas opções...

 Aplicar um filtro com o estado que vc quer e fazer um while e ir apagando
 um por um processo + demorado...

 Usar um componente para fazer o delete no banco usando um parametro com o
 estado que vc quer.. processo + rapido...

 Aí vai de vc escolher

 --
 Eny Trova Urias

 Somos o que repetitivamente fazemos, portanto, a excelência não é um
 feito, mas um hábito- Aristóteles

 
 De: Marcos Abreu Ferreira maferreira...@gmail.com
mailto:maferreira.f2%40gmail.com maferreira.f2%40gmail.com
 
 Para: lista-del...@yahoogrupos.com.br
mailto:lista-delphi%40yahoogrupos.com.br
lista-delphi%40yahoogrupos.com.br;
 delphi-br@yahoogrupos.com.br mailto:delphi-br%40yahoogrupos.com.br
delphi-br%40yahoogrupos.com.br
 Enviadas: Sábado, 1 de Maio de 2010 18:35:26
 Assunto: [delphi-br] ClientDataSet
 Pessoal,

 Tenho um clientdataset com 3 campos

 -Codigo (string,12)
 -Nome (string,35)
 -Estado (string,2)

 Preciso colocar uma ação num botao onde eu vá apagar os registros de um
 determinado estado no clientdataset. Como fazer?

 Att,

 marcos








[As partes desta mensagem que não continham texto foram removidas]





-- 
 FAVOR REMOVER ESTA PARTE AO RESPONDER ESTA MENSAGEM 







Re: [delphi-br] ClientDataSet com Criptografia

2010-02-10 Por tôpico Dirlei
- como recuperar os dados e descriptografar antes de mostrá-lo em um dbgrid

   Uma alternativa é recuperar os dados num dataset e 
descriptografar o conteúdo em outro dataset, que estará associado ao grid.

- como fica a pra fazer um sort, por exemplo?

   Se o dataset onde os dados descriptografados serão armazenados 
for um TClientDataset, você pode usar índices no próprio ClientDataset.

Dirlei.

pcedisi escreveu:
  

 Boa noite!

 Estou querendo criptografar dados antes de gravá-los na base. Estou
 usando um componente JEDI para isso.
 Minha dúvida é: como recuperar os dados e descriptografar antes de
 mostrá-lo em um dbgrid e também como fica a pra fazer um sort, por 
 exemplo?

 Agradeço se alguém puder dar umas dicas de como proceder.

 Paulo




Re: [delphi-br] ClientDataSet - Lookup Lento

2009-05-14 Por tôpico berdam
outro detalhe, procure não colocar no oncalcfields, chamadas de acesso 
ao banco, pois em todas alteração  de todos os campos, que for feita nos 
campos do cds, eu disse todas, o método calcfields é chamado, isso pode 
ocasionar lentidão.

Nivaldo Stainle escreveu:


 entendi, mas o que deixa com a pulga atrás da orelha é que com a mesma 
 sintaxe e modelo, o BDE é mais rápido do que o CDS, é isto que não 
 entendo, estou trocando para algo melhor pelo que estou lendo e no 
 entanto estou vendo outra coisa na prática, ou seja, o que eu fazia 
 com o BDE não estou fazendo com BSS, ClientDataSet, etc.; pelo menos 
 com a mesma velocidade, acho que estou fazendo algo errado, é isto que 
 quero descobrir.
 Stainle

 --- Em qua, 13/5/09, Evandro Siqueira vans...@gmail.com 
 mailto:vansiqq%40gmail.com escreveu:

 De: Evandro Siqueira vans...@gmail.com mailto:vansiqq%40gmail.com
 Assunto: Re: [delphi-br] ClientDataSet - Lookup Lento
 Para: delphi-br@yahoogrupos.com.br mailto:delphi-br%40yahoogrupos.com.br
 Data: Quarta-feira, 13 de Maio de 2009, 15:44

 Stainle,

 Como vc informou qual o banco de dados, estou pressupondo que seja o
 firebird e neste contexto, sugiro 2 coisas:

 1) no Seleciona( select * from ... )... substitua o * pelo nome dos
 campos que vc irá utilizar. Explicando: qd vc utiliza select * from
 tabela, provoca um fetch all nela mesmo que a instrução contenha uma
 cláusula where, o que tornará a consulta lenta, dependendo do tamanho da
 tabela

 2) se a lookup source contiver muitas linhas, sugiro procurar uma outra
 alternativa, pq este componente é perfeito para aplicações desktop mas
 em aplicações client server ou multicamadas, um lookup de muitas linhas
 pode se tornar um pesadelo em termos de performance.

 stainle2003 escreveu:
 
 
  Boa Tarde, novamente pedindo ajuda.
  Estou gradativamente mudando meu sistema de BDE para Multicamadas,
  portando deixo de usar Query para usar ClientDataSet acessando a
  máquina que tem o BSS, o que acontece:
  Preciso fazer Lookup e sei que fica lento, então na Query(BDE) em
  OnCalcFields eu uso uma função que Seleciona(select * from ...) UMA
  dentre 4 chaves(00211001, 00211***, 0021, 002*), por exemplo,
  de uma tabela para que eu ache um valor para calcular o Preço Líquido
  por exemplo da tabela principal; acontece que no BDE(query) funciona
  com uma velocidade até que razoável, mas ao mudar para o
  ClientDataSet, fica uma calamidade, até mudei a função chamada no
  OnCalcFields para ao invés de SQL eu passei a usar da forma abaixo,
  mas mesmo assim não me alegrou, será que vou ter que continuar a usar
  o BDE, neste caso ???
  procedure TDados.ver_desconto;
  var
  wscodigo : string;
  begin
  wscodigo := Dados.CDSEstCodes.Value;
 
  Dados.CDSDes.Close;
  Dados.CDSDes.IndexName := 'DEFAULT_ORDER';
  Dados.CDSDes.Open;
  Dados.CDSDes.IndexFieldNames := 'nrolinha;grupo_ini;sub_ini;nropeca';
  Dados.CDSDes.SetKey;
  Dados.CDSDesNrolinha.Value := StrToInt(copy(wscodigo, 1, 3));
  Dados.CDSDesGrupo_Ini.AsString := copy(wscodigo, 5, 1);
  Dados.CDSDesSub_Ini.AsString := copy(wscodigo, 6, 1);
  Dados.CDSDesNropeca.AsString := copy(wscodigo, 8, 3);
  if Dados.CDSDes.GotoKey then
  begin
  Dados.CDSEstDesconto.Value := Dados.CDSDesDesco05.Value;
  exit;
  end;
  Dados.CDSDes.IndexFieldNames := 'nrolinha;grupo_ini;sub_ini;nropeca';
  Dados.CDSDes.SetKey;
  Dados.CDSDesNrolinha.Value := StrToInt(copy(wscodigo, 1, 3));
  Dados.CDSDesGrupo_Ini.AsString := copy(wscodigo, 5, 1);
  Dados.CDSDesSub_Ini.AsString := copy(wscodigo, 6, 1);
  Dados.CDSDesNropeca.AsString := '***';
  if Dados.CDSDes.GotoKey then
  begin
  Dados.CDSEstDesconto.Value := Dados.CDSDesDesco05.Value;
  exit;
  end;
  Dados.CDSDes.IndexFieldNames := 'nrolinha;grupo_ini;sub_ini;nropeca';
  Dados.CDSDes.SetKey;
  Dados.CDSDesNrolinha.Value := StrToInt(copy(wscodigo, 1, 3));
  Dados.CDSDesGrupo_Ini.AsString := copy(wscodigo, 5, 1);
  Dados.CDSDesSub_Ini.AsString := '*';
  Dados.CDSDesNropeca.AsString := '***';
  if Dados.CDSDes.GotoKey then
  begin
  Dados.CDSEstDesconto.Value := Dados.CDSDesDesco05.Value;
  exit;
  end;
  Dados.CDSDes.IndexFieldNames := 'nrolinha;grupo_ini;sub_ini;nropeca';
  Dados.CDSDes.SetKey;
  Dados.CDSDesNrolinha.Value := StrToInt(copy(wscodigo, 1, 3));
  Dados.CDSDesGrupo_Ini.AsString := '*';
  Dados.CDSDesSub_Ini.AsString := '*';
  Dados.CDSDesNropeca.AsString := '***';
  if Dados.CDSDes.GotoKey then
  begin
  Dados.CDSEstDesconto.Value := Dados.CDSDesDesco05.Value;
  end;
 
  end;
 
  procedure TDados.CDSEstCalcFields(DataSet: TDataSet);
  begin
  ver_desconto();
  Dados.CDSEstLiquido.Value := Dados.CDSEstPv1.Value * (1 -
  Dados.CDSEstDesconto.Value / 100);
  end;
 
  procedure TDados.CDSDesBeforeOpen(DataSet: TDataSet);
  begin
  Dados.CDSDes.IndexName := 'DEFAULT_ORDER';
  end;
  grato
  Stainle
 

 -- 
 []’s.

 Evandro Siqueira
 Programador de Sistemas
 L’essentiel Lingerie
 (79) 3254-5511 Ramal 218
 skype: evandro.lessentiel

Re: [delphi-br] ClientDataSet - Lookup Lento

2009-05-14 Por tôpico Nivaldo Stainle
entendi, acho que melhora muito se também colocar a função no servidor(BSS), 
não acha ?
Stainle

--- Em qui, 14/5/09, berdam berdamzi...@yahoo.com.br escreveu:


De: berdam berdamzi...@yahoo.com.br
Assunto: Re: [delphi-br] ClientDataSet - Lookup Lento
Para: delphi-br@yahoogrupos.com.br
Data: Quinta-feira, 14 de Maio de 2009, 18:43








outro detalhe, procure não colocar no oncalcfields, chamadas de acesso 
ao banco, pois em todas alteração de todos os campos, que for feita nos 
campos do cds, eu disse todas, o método calcfields é chamado, isso pode 
ocasionar lentidão.

Nivaldo Stainle escreveu:


 entendi, mas o que deixa com a pulga atrás da orelha é que com a mesma 
 sintaxe e modelo, o BDE é mais rápido do que o CDS, é isto que não 
 entendo, estou trocando para algo melhor pelo que estou lendo e no 
 entanto estou vendo outra coisa na prática, ou seja, o que eu fazia 
 com o BDE não estou fazendo com BSS, ClientDataSet, etc.; pelo menos 
 com a mesma velocidade, acho que estou fazendo algo errado, é isto que 
 quero descobrir.
 Stainle

 --- Em qua, 13/5/09, Evandro Siqueira vans...@gmail. com 
 mailto:vansiqq% 40gmail.com  escreveu:

 De: Evandro Siqueira vans...@gmail. com mailto:vansiqq% 40gmail.com 
 Assunto: Re: [delphi-br] ClientDataSet - Lookup Lento
 Para: delphi...@yahoogrup os.com.br mailto:delphi- br%40yahoogrupos .com.br
 Data: Quarta-feira, 13 de Maio de 2009, 15:44

 Stainle,

 Como vc informou qual o banco de dados, estou pressupondo que seja o
 firebird e neste contexto, sugiro 2 coisas:

 1) no Seleciona( select * from ... )... substitua o * pelo nome dos
 campos que vc irá utilizar. Explicando: qd vc utiliza select * from
 tabela, provoca um fetch all nela mesmo que a instrução contenha uma
 cláusula where, o que tornará a consulta lenta, dependendo do tamanho da
 tabela

 2) se a lookup source contiver muitas linhas, sugiro procurar uma outra
 alternativa, pq este componente é perfeito para aplicações desktop mas
 em aplicações client server ou multicamadas, um lookup de muitas linhas
 pode se tornar um pesadelo em termos de performance.

 stainle2003 escreveu:
 
 
  Boa Tarde, novamente pedindo ajuda.
  Estou gradativamente mudando meu sistema de BDE para Multicamadas,
  portando deixo de usar Query para usar ClientDataSet acessando a
  máquina que tem o BSS, o que acontece:
  Preciso fazer Lookup e sei que fica lento, então na Query(BDE) em
  OnCalcFields eu uso uma função que Seleciona(select * from ...) UMA
  dentre 4 chaves(00211001, 00211***, 0021, 002*), por exemplo,
  de uma tabela para que eu ache um valor para calcular o Preço Líquido
  por exemplo da tabela principal; acontece que no BDE(query) funciona
  com uma velocidade até que razoável, mas ao mudar para o
  ClientDataSet, fica uma calamidade, até mudei a função chamada no
  OnCalcFields para ao invés de SQL eu passei a usar da forma abaixo,
  mas mesmo assim não me alegrou, será que vou ter que continuar a usar
  o BDE, neste caso ???
  procedure TDados.ver_desconto ;
  var
  wscodigo : string;
  begin
  wscodigo := Dados.CDSEstCodes. Value;
 
  Dados.CDSDes. Close;
  Dados.CDSDes. IndexName := 'DEFAULT_ORDER' ;
  Dados.CDSDes. Open;
  Dados.CDSDes. IndexFieldNames := 'nrolinha;grupo_ ini;sub_ini; nropeca';
  Dados.CDSDes. SetKey;
  Dados.CDSDesNrolinh a.Value := StrToInt(copy( wscodigo, 1, 3));
  Dados.CDSDesGrupo_ Ini.AsString := copy(wscodigo, 5, 1);
  Dados.CDSDesSub_ Ini.AsString := copy(wscodigo, 6, 1);
  Dados.CDSDesNropeca .AsString := copy(wscodigo, 8, 3);
  if Dados.CDSDes. GotoKey then
  begin
  Dados.CDSEstDescont o.Value := Dados.CDSDesDesco05 .Value;
  exit;
  end;
  Dados.CDSDes. IndexFieldNames := 'nrolinha;grupo_ ini;sub_ini; nropeca';
  Dados.CDSDes. SetKey;
  Dados.CDSDesNrolinh a.Value := StrToInt(copy( wscodigo, 1, 3));
  Dados.CDSDesGrupo_ Ini.AsString := copy(wscodigo, 5, 1);
  Dados.CDSDesSub_ Ini.AsString := copy(wscodigo, 6, 1);
  Dados.CDSDesNropeca .AsString := '***';
  if Dados.CDSDes. GotoKey then
  begin
  Dados.CDSEstDescont o.Value := Dados.CDSDesDesco05 .Value;
  exit;
  end;
  Dados.CDSDes. IndexFieldNames := 'nrolinha;grupo_ ini;sub_ini; nropeca';
  Dados.CDSDes. SetKey;
  Dados.CDSDesNrolinh a.Value := StrToInt(copy( wscodigo, 1, 3));
  Dados.CDSDesGrupo_ Ini.AsString := copy(wscodigo, 5, 1);
  Dados.CDSDesSub_ Ini.AsString := '*';
  Dados.CDSDesNropeca .AsString := '***';
  if Dados.CDSDes. GotoKey then
  begin
  Dados.CDSEstDescont o.Value := Dados.CDSDesDesco05 .Value;
  exit;
  end;
  Dados.CDSDes. IndexFieldNames := 'nrolinha;grupo_ ini;sub_ini; nropeca';
  Dados.CDSDes. SetKey;
  Dados.CDSDesNrolinh a.Value := StrToInt(copy( wscodigo, 1, 3));
  Dados.CDSDesGrupo_ Ini.AsString := '*';
  Dados.CDSDesSub_ Ini.AsString := '*';
  Dados.CDSDesNropeca .AsString := '***';
  if Dados.CDSDes. GotoKey then
  begin
  Dados.CDSEstDescont o.Value := Dados.CDSDesDesco05 .Value;
  end;
 
  end;
 
  procedure TDados.CDSEstCalcFi elds(DataSet: TDataSet);
  begin
  ver_desconto

Re: [delphi-br] ClientDataSet - Lookup Lento

2009-05-14 Por tôpico Nivaldo Stainle
em tempo, onde você sugere que eu coloque a chamada da função que vai ao banco 
???
 
Stainle

--- Em qui, 14/5/09, berdam berdamzi...@yahoo.com.br escreveu:


De: berdam berdamzi...@yahoo.com.br
Assunto: Re: [delphi-br] ClientDataSet - Lookup Lento
Para: delphi-br@yahoogrupos.com.br
Data: Quinta-feira, 14 de Maio de 2009, 18:43








outro detalhe, procure não colocar no oncalcfields, chamadas de acesso 
ao banco, pois em todas alteração de todos os campos, que for feita nos 
campos do cds, eu disse todas, o método calcfields é chamado, isso pode 
ocasionar lentidão.

Nivaldo Stainle escreveu:


 entendi, mas o que deixa com a pulga atrás da orelha é que com a mesma 
 sintaxe e modelo, o BDE é mais rápido do que o CDS, é isto que não 
 entendo, estou trocando para algo melhor pelo que estou lendo e no 
 entanto estou vendo outra coisa na prática, ou seja, o que eu fazia 
 com o BDE não estou fazendo com BSS, ClientDataSet, etc.; pelo menos 
 com a mesma velocidade, acho que estou fazendo algo errado, é isto que 
 quero descobrir.
 Stainle

 --- Em qua, 13/5/09, Evandro Siqueira vans...@gmail. com 
 mailto:vansiqq% 40gmail.com  escreveu:

 De: Evandro Siqueira vans...@gmail. com mailto:vansiqq% 40gmail.com 
 Assunto: Re: [delphi-br] ClientDataSet - Lookup Lento
 Para: delphi...@yahoogrup os.com.br mailto:delphi- br%40yahoogrupos .com.br
 Data: Quarta-feira, 13 de Maio de 2009, 15:44

 Stainle,

 Como vc informou qual o banco de dados, estou pressupondo que seja o
 firebird e neste contexto, sugiro 2 coisas:

 1) no Seleciona( select * from ... )... substitua o * pelo nome dos
 campos que vc irá utilizar. Explicando: qd vc utiliza select * from
 tabela, provoca um fetch all nela mesmo que a instrução contenha uma
 cláusula where, o que tornará a consulta lenta, dependendo do tamanho da
 tabela

 2) se a lookup source contiver muitas linhas, sugiro procurar uma outra
 alternativa, pq este componente é perfeito para aplicações desktop mas
 em aplicações client server ou multicamadas, um lookup de muitas linhas
 pode se tornar um pesadelo em termos de performance.

 stainle2003 escreveu:
 
 
  Boa Tarde, novamente pedindo ajuda.
  Estou gradativamente mudando meu sistema de BDE para Multicamadas,
  portando deixo de usar Query para usar ClientDataSet acessando a
  máquina que tem o BSS, o que acontece:
  Preciso fazer Lookup e sei que fica lento, então na Query(BDE) em
  OnCalcFields eu uso uma função que Seleciona(select * from ...) UMA
  dentre 4 chaves(00211001, 00211***, 0021, 002*), por exemplo,
  de uma tabela para que eu ache um valor para calcular o Preço Líquido
  por exemplo da tabela principal; acontece que no BDE(query) funciona
  com uma velocidade até que razoável, mas ao mudar para o
  ClientDataSet, fica uma calamidade, até mudei a função chamada no
  OnCalcFields para ao invés de SQL eu passei a usar da forma abaixo,
  mas mesmo assim não me alegrou, será que vou ter que continuar a usar
  o BDE, neste caso ???
  procedure TDados.ver_desconto ;
  var
  wscodigo : string;
  begin
  wscodigo := Dados.CDSEstCodes. Value;
 
  Dados.CDSDes. Close;
  Dados.CDSDes. IndexName := 'DEFAULT_ORDER' ;
  Dados.CDSDes. Open;
  Dados.CDSDes. IndexFieldNames := 'nrolinha;grupo_ ini;sub_ini; nropeca';
  Dados.CDSDes. SetKey;
  Dados.CDSDesNrolinh a.Value := StrToInt(copy( wscodigo, 1, 3));
  Dados.CDSDesGrupo_ Ini.AsString := copy(wscodigo, 5, 1);
  Dados.CDSDesSub_ Ini.AsString := copy(wscodigo, 6, 1);
  Dados.CDSDesNropeca .AsString := copy(wscodigo, 8, 3);
  if Dados.CDSDes. GotoKey then
  begin
  Dados.CDSEstDescont o.Value := Dados.CDSDesDesco05 .Value;
  exit;
  end;
  Dados.CDSDes. IndexFieldNames := 'nrolinha;grupo_ ini;sub_ini; nropeca';
  Dados.CDSDes. SetKey;
  Dados.CDSDesNrolinh a.Value := StrToInt(copy( wscodigo, 1, 3));
  Dados.CDSDesGrupo_ Ini.AsString := copy(wscodigo, 5, 1);
  Dados.CDSDesSub_ Ini.AsString := copy(wscodigo, 6, 1);
  Dados.CDSDesNropeca .AsString := '***';
  if Dados.CDSDes. GotoKey then
  begin
  Dados.CDSEstDescont o.Value := Dados.CDSDesDesco05 .Value;
  exit;
  end;
  Dados.CDSDes. IndexFieldNames := 'nrolinha;grupo_ ini;sub_ini; nropeca';
  Dados.CDSDes. SetKey;
  Dados.CDSDesNrolinh a.Value := StrToInt(copy( wscodigo, 1, 3));
  Dados.CDSDesGrupo_ Ini.AsString := copy(wscodigo, 5, 1);
  Dados.CDSDesSub_ Ini.AsString := '*';
  Dados.CDSDesNropeca .AsString := '***';
  if Dados.CDSDes. GotoKey then
  begin
  Dados.CDSEstDescont o.Value := Dados.CDSDesDesco05 .Value;
  exit;
  end;
  Dados.CDSDes. IndexFieldNames := 'nrolinha;grupo_ ini;sub_ini; nropeca';
  Dados.CDSDes. SetKey;
  Dados.CDSDesNrolinh a.Value := StrToInt(copy( wscodigo, 1, 3));
  Dados.CDSDesGrupo_ Ini.AsString := '*';
  Dados.CDSDesSub_ Ini.AsString := '*';
  Dados.CDSDesNropeca .AsString := '***';
  if Dados.CDSDes. GotoKey then
  begin
  Dados.CDSEstDescont o.Value := Dados.CDSDesDesco05 .Value;
  end;
 
  end;
 
  procedure TDados.CDSEstCalcFi elds(DataSet: TDataSet);
  begin
  ver_desconto

Re: [delphi-br] ClientDataSet - Lookup Lento

2009-05-14 Por tôpico berdam
é, eu tbm já pensei nisso antes, fica complicado realmente, mas se puder 
armazenar isso em uma variável global fica melhor.

Nivaldo Stainle escreveu:


 em tempo, onde você sugere que eu coloque a chamada da função que vai 
 ao banco ???
  
 Stainle

 --- Em qui, 14/5/09, berdam berdamzi...@yahoo.com.br 
 mailto:berdamzinho%40yahoo.com.br escreveu:

 De: berdam berdamzi...@yahoo.com.br mailto:berdamzinho%40yahoo.com.br
 Assunto: Re: [delphi-br] ClientDataSet - Lookup Lento
 Para: delphi-br@yahoogrupos.com.br mailto:delphi-br%40yahoogrupos.com.br
 Data: Quinta-feira, 14 de Maio de 2009, 18:43

 outro detalhe, procure não colocar no oncalcfields, chamadas de acesso
 ao banco, pois em todas alteração de todos os campos, que for feita nos
 campos do cds, eu disse todas, o método calcfields é chamado, isso pode
 ocasionar lentidão.

 Nivaldo Stainle escreveu:
 
 
  entendi, mas o que deixa com a pulga atrás da orelha é que com a mesma
  sintaxe e modelo, o BDE é mais rápido do que o CDS, é isto que não
  entendo, estou trocando para algo melhor pelo que estou lendo e no
  entanto estou vendo outra coisa na prática, ou seja, o que eu fazia
  com o BDE não estou fazendo com BSS, ClientDataSet, etc.; pelo menos
  com a mesma velocidade, acho que estou fazendo algo errado, é isto que
  quero descobrir.
  Stainle
 
  --- Em qua, 13/5/09, Evandro Siqueira vans...@gmail. com
  mailto:vansiqq% 40gmail.com  escreveu:
 
  De: Evandro Siqueira vans...@gmail. com mailto:vansiqq% 40gmail.com 
  Assunto: Re: [delphi-br] ClientDataSet - Lookup Lento
  Para: delphi...@yahoogrup os.com.br mailto:delphi- br%40yahoogrupos 
 .com.br
  Data: Quarta-feira, 13 de Maio de 2009, 15:44
 
  Stainle,
 
  Como vc informou qual o banco de dados, estou pressupondo que seja o
  firebird e neste contexto, sugiro 2 coisas:
 
  1) no Seleciona( select * from ... )... substitua o * pelo nome dos
  campos que vc irá utilizar. Explicando: qd vc utiliza select * from
  tabela, provoca um fetch all nela mesmo que a instrução contenha uma
  cláusula where, o que tornará a consulta lenta, dependendo do tamanho da
  tabela
 
  2) se a lookup source contiver muitas linhas, sugiro procurar uma outra
  alternativa, pq este componente é perfeito para aplicações desktop mas
  em aplicações client server ou multicamadas, um lookup de muitas linhas
  pode se tornar um pesadelo em termos de performance.
 
  stainle2003 escreveu:
  
  
   Boa Tarde, novamente pedindo ajuda.
   Estou gradativamente mudando meu sistema de BDE para Multicamadas,
   portando deixo de usar Query para usar ClientDataSet acessando a
   máquina que tem o BSS, o que acontece:
   Preciso fazer Lookup e sei que fica lento, então na Query(BDE) em
   OnCalcFields eu uso uma função que Seleciona(select * from ...) UMA
   dentre 4 chaves(00211001, 00211***, 0021, 002*), por exemplo,
   de uma tabela para que eu ache um valor para calcular o Preço Líquido
   por exemplo da tabela principal; acontece que no BDE(query) funciona
   com uma velocidade até que razoável, mas ao mudar para o
   ClientDataSet, fica uma calamidade, até mudei a função chamada no
   OnCalcFields para ao invés de SQL eu passei a usar da forma abaixo,
   mas mesmo assim não me alegrou, será que vou ter que continuar a usar
   o BDE, neste caso ???
   procedure TDados.ver_desconto ;
   var
   wscodigo : string;
   begin
   wscodigo := Dados.CDSEstCodes. Value;
  
   Dados.CDSDes. Close;
   Dados.CDSDes. IndexName := 'DEFAULT_ORDER' ;
   Dados.CDSDes. Open;
   Dados.CDSDes. IndexFieldNames := 'nrolinha;grupo_ ini;sub_ini; 
 nropeca';
   Dados.CDSDes. SetKey;
   Dados.CDSDesNrolinh a.Value := StrToInt(copy( wscodigo, 1, 3));
   Dados.CDSDesGrupo_ Ini.AsString := copy(wscodigo, 5, 1);
   Dados.CDSDesSub_ Ini.AsString := copy(wscodigo, 6, 1);
   Dados.CDSDesNropeca .AsString := copy(wscodigo, 8, 3);
   if Dados.CDSDes. GotoKey then
   begin
   Dados.CDSEstDescont o.Value := Dados.CDSDesDesco05 .Value;
   exit;
   end;
   Dados.CDSDes. IndexFieldNames := 'nrolinha;grupo_ ini;sub_ini; 
 nropeca';
   Dados.CDSDes. SetKey;
   Dados.CDSDesNrolinh a.Value := StrToInt(copy( wscodigo, 1, 3));
   Dados.CDSDesGrupo_ Ini.AsString := copy(wscodigo, 5, 1);
   Dados.CDSDesSub_ Ini.AsString := copy(wscodigo, 6, 1);
   Dados.CDSDesNropeca .AsString := '***';
   if Dados.CDSDes. GotoKey then
   begin
   Dados.CDSEstDescont o.Value := Dados.CDSDesDesco05 .Value;
   exit;
   end;
   Dados.CDSDes. IndexFieldNames := 'nrolinha;grupo_ ini;sub_ini; 
 nropeca';
   Dados.CDSDes. SetKey;
   Dados.CDSDesNrolinh a.Value := StrToInt(copy( wscodigo, 1, 3));
   Dados.CDSDesGrupo_ Ini.AsString := copy(wscodigo, 5, 1);
   Dados.CDSDesSub_ Ini.AsString := '*';
   Dados.CDSDesNropeca .AsString := '***';
   if Dados.CDSDes. GotoKey then
   begin
   Dados.CDSEstDescont o.Value := Dados.CDSDesDesco05 .Value;
   exit;
   end;
   Dados.CDSDes. IndexFieldNames := 'nrolinha;grupo_ ini;sub_ini; 
 nropeca';
   Dados.CDSDes. SetKey;
   Dados.CDSDesNrolinh

Re: [delphi-br] ClientDataSet - Lookup Lento

2009-05-13 Por tôpico Evandro Siqueira
Stainle,

Como vc informou qual o banco de dados, estou pressupondo que seja o 
firebird e neste contexto, sugiro 2 coisas:

1) no Seleciona( select * from ... )... substitua o * pelo nome dos 
campos que vc irá utilizar. Explicando: qd vc utiliza select * from 
tabela, provoca um fetch all nela mesmo que a instrução contenha uma 
cláusula where, o que tornará a consulta lenta, dependendo do tamanho da 
tabela

2) se a lookup source contiver muitas linhas, sugiro procurar uma outra 
alternativa, pq este componente é perfeito para aplicações desktop mas 
em aplicações client server ou multicamadas, um lookup de muitas linhas 
pode se tornar um pesadelo em termos de performance.


stainle2003 escreveu:


 Boa Tarde, novamente pedindo ajuda.
 Estou gradativamente mudando meu sistema de BDE para Multicamadas, 
 portando deixo de usar Query para usar ClientDataSet acessando a 
 máquina que tem o BSS, o que acontece:
 Preciso fazer Lookup e sei que fica lento, então na Query(BDE) em 
 OnCalcFields eu uso uma função que Seleciona(select * from ...) UMA 
 dentre 4 chaves(00211001, 00211***, 0021, 002*), por exemplo, 
 de uma tabela para que eu ache um valor para calcular o Preço Líquido 
 por exemplo da tabela principal; acontece que no BDE(query) funciona 
 com uma velocidade até que razoável, mas ao mudar para o 
 ClientDataSet, fica uma calamidade, até mudei a função chamada no 
 OnCalcFields para ao invés de SQL eu passei a usar da forma abaixo, 
 mas mesmo assim não me alegrou, será que vou ter que continuar a usar 
 o BDE, neste caso ???
 procedure TDados.ver_desconto;
 var
 wscodigo : string;
 begin
 wscodigo := Dados.CDSEstCodes.Value;

 Dados.CDSDes.Close;
 Dados.CDSDes.IndexName := 'DEFAULT_ORDER';
 Dados.CDSDes.Open;
 Dados.CDSDes.IndexFieldNames := 'nrolinha;grupo_ini;sub_ini;nropeca';
 Dados.CDSDes.SetKey;
 Dados.CDSDesNrolinha.Value := StrToInt(copy(wscodigo, 1, 3));
 Dados.CDSDesGrupo_Ini.AsString := copy(wscodigo, 5, 1);
 Dados.CDSDesSub_Ini.AsString := copy(wscodigo, 6, 1);
 Dados.CDSDesNropeca.AsString := copy(wscodigo, 8, 3);
 if Dados.CDSDes.GotoKey then
 begin
 Dados.CDSEstDesconto.Value := Dados.CDSDesDesco05.Value;
 exit;
 end;
 Dados.CDSDes.IndexFieldNames := 'nrolinha;grupo_ini;sub_ini;nropeca';
 Dados.CDSDes.SetKey;
 Dados.CDSDesNrolinha.Value := StrToInt(copy(wscodigo, 1, 3));
 Dados.CDSDesGrupo_Ini.AsString := copy(wscodigo, 5, 1);
 Dados.CDSDesSub_Ini.AsString := copy(wscodigo, 6, 1);
 Dados.CDSDesNropeca.AsString := '***';
 if Dados.CDSDes.GotoKey then
 begin
 Dados.CDSEstDesconto.Value := Dados.CDSDesDesco05.Value;
 exit;
 end;
 Dados.CDSDes.IndexFieldNames := 'nrolinha;grupo_ini;sub_ini;nropeca';
 Dados.CDSDes.SetKey;
 Dados.CDSDesNrolinha.Value := StrToInt(copy(wscodigo, 1, 3));
 Dados.CDSDesGrupo_Ini.AsString := copy(wscodigo, 5, 1);
 Dados.CDSDesSub_Ini.AsString := '*';
 Dados.CDSDesNropeca.AsString := '***';
 if Dados.CDSDes.GotoKey then
 begin
 Dados.CDSEstDesconto.Value := Dados.CDSDesDesco05.Value;
 exit;
 end;
 Dados.CDSDes.IndexFieldNames := 'nrolinha;grupo_ini;sub_ini;nropeca';
 Dados.CDSDes.SetKey;
 Dados.CDSDesNrolinha.Value := StrToInt(copy(wscodigo, 1, 3));
 Dados.CDSDesGrupo_Ini.AsString := '*';
 Dados.CDSDesSub_Ini.AsString := '*';
 Dados.CDSDesNropeca.AsString := '***';
 if Dados.CDSDes.GotoKey then
 begin
 Dados.CDSEstDesconto.Value := Dados.CDSDesDesco05.Value;
 end;

 end;

 procedure TDados.CDSEstCalcFields(DataSet: TDataSet);
 begin
 ver_desconto();
 Dados.CDSEstLiquido.Value := Dados.CDSEstPv1.Value * (1 - 
 Dados.CDSEstDesconto.Value / 100);
 end;

 procedure TDados.CDSDesBeforeOpen(DataSet: TDataSet);
 begin
 Dados.CDSDes.IndexName := 'DEFAULT_ORDER';
 end;
 grato
 Stainle
























































































-- 
[]’s.

Evandro Siqueira
Programador de Sistemas
L’essentiel Lingerie
(79) 3254-5511 Ramal 218
skype: evandro.lessentiel





-- 
 FAVOR REMOVER ESTA PARTE AO RESPONDER ESTA MENSAGEM 

* Para ver as mensagens antigas, acesse:
http://br.groups.yahoo.com/group/delphi-br/messages

* Para falar com o moderador, envie um e-mail para:
delphi-br-ow...@yahoogrupos.com.br
Links do Yahoo! Grupos

* Para visitar o site do seu grupo na web, acesse:
http://br.groups.yahoo.com/group/delphi-br/

* Para sair deste grupo, envie um e-mail para:
delphi-br-unsubscr...@yahoogrupos.com.br

* O uso que você faz do Yahoo! Grupos está sujeito aos:
http://br.yahoo.com/info/utos.html




Re: [delphi-br] ClientDataSet - Lookup Lento

2009-05-13 Por tôpico Nivaldo Stainle
entendi, mas o que deixa com a pulga atrás da orelha é que com a mesma sintaxe 
e modelo, o BDE é mais rápido do que o CDS, é isto que não entendo, estou 
trocando para algo melhor pelo que estou lendo e no entanto estou vendo outra 
coisa na prática, ou seja, o que eu fazia com o BDE não estou fazendo com BSS, 
ClientDataSet, etc.; pelo menos com a mesma velocidade, acho que estou fazendo 
algo errado, é isto que quero descobrir.
Stainle

--- Em qua, 13/5/09, Evandro Siqueira vans...@gmail.com escreveu:


De: Evandro Siqueira vans...@gmail.com
Assunto: Re: [delphi-br] ClientDataSet - Lookup Lento
Para: delphi-br@yahoogrupos.com.br
Data: Quarta-feira, 13 de Maio de 2009, 15:44


Stainle,

Como vc informou qual o banco de dados, estou pressupondo que seja o 
firebird e neste contexto, sugiro 2 coisas:

1) no Seleciona( select * from ... )... substitua o * pelo nome dos 
campos que vc irá utilizar. Explicando: qd vc utiliza select * from 
tabela, provoca um fetch all nela mesmo que a instrução contenha uma 
cláusula where, o que tornará a consulta lenta, dependendo do tamanho da 
tabela

2) se a lookup source contiver muitas linhas, sugiro procurar uma outra 
alternativa, pq este componente é perfeito para aplicações desktop mas 
em aplicações client server ou multicamadas, um lookup de muitas linhas 
pode se tornar um pesadelo em termos de performance.


stainle2003 escreveu:


 Boa Tarde, novamente pedindo ajuda.
 Estou gradativamente mudando meu sistema de BDE para Multicamadas, 
 portando deixo de usar Query para usar ClientDataSet acessando a 
 máquina que tem o BSS, o que acontece:
 Preciso fazer Lookup e sei que fica lento, então na Query(BDE) em 
 OnCalcFields eu uso uma função que Seleciona(select * from ...) UMA 
 dentre 4 chaves(00211001, 00211***, 0021, 002*), por exemplo, 
 de uma tabela para que eu ache um valor para calcular o Preço Líquido 
 por exemplo da tabela principal; acontece que no BDE(query) funciona 
 com uma velocidade até que razoável, mas ao mudar para o 
 ClientDataSet, fica uma calamidade, até mudei a função chamada no 
 OnCalcFields para ao invés de SQL eu passei a usar da forma abaixo, 
 mas mesmo assim não me alegrou, será que vou ter que continuar a usar 
 o BDE, neste caso ???
 procedure TDados.ver_desconto;
 var
 wscodigo : string;
 begin
 wscodigo := Dados.CDSEstCodes.Value;

 Dados.CDSDes.Close;
 Dados.CDSDes.IndexName := 'DEFAULT_ORDER';
 Dados.CDSDes.Open;
 Dados.CDSDes.IndexFieldNames := 'nrolinha;grupo_ini;sub_ini;nropeca';
 Dados.CDSDes.SetKey;
 Dados.CDSDesNrolinha.Value := StrToInt(copy(wscodigo, 1, 3));
 Dados.CDSDesGrupo_Ini.AsString := copy(wscodigo, 5, 1);
 Dados.CDSDesSub_Ini.AsString := copy(wscodigo, 6, 1);
 Dados.CDSDesNropeca.AsString := copy(wscodigo, 8, 3);
 if Dados.CDSDes.GotoKey then
 begin
 Dados.CDSEstDesconto.Value := Dados.CDSDesDesco05.Value;
 exit;
 end;
 Dados.CDSDes.IndexFieldNames := 'nrolinha;grupo_ini;sub_ini;nropeca';
 Dados.CDSDes.SetKey;
 Dados.CDSDesNrolinha.Value := StrToInt(copy(wscodigo, 1, 3));
 Dados.CDSDesGrupo_Ini.AsString := copy(wscodigo, 5, 1);
 Dados.CDSDesSub_Ini.AsString := copy(wscodigo, 6, 1);
 Dados.CDSDesNropeca.AsString := '***';
 if Dados.CDSDes.GotoKey then
 begin
 Dados.CDSEstDesconto.Value := Dados.CDSDesDesco05.Value;
 exit;
 end;
 Dados.CDSDes.IndexFieldNames := 'nrolinha;grupo_ini;sub_ini;nropeca';
 Dados.CDSDes.SetKey;
 Dados.CDSDesNrolinha.Value := StrToInt(copy(wscodigo, 1, 3));
 Dados.CDSDesGrupo_Ini.AsString := copy(wscodigo, 5, 1);
 Dados.CDSDesSub_Ini.AsString := '*';
 Dados.CDSDesNropeca.AsString := '***';
 if Dados.CDSDes.GotoKey then
 begin
 Dados.CDSEstDesconto.Value := Dados.CDSDesDesco05.Value;
 exit;
 end;
 Dados.CDSDes.IndexFieldNames := 'nrolinha;grupo_ini;sub_ini;nropeca';
 Dados.CDSDes.SetKey;
 Dados.CDSDesNrolinha.Value := StrToInt(copy(wscodigo, 1, 3));
 Dados.CDSDesGrupo_Ini.AsString := '*';
 Dados.CDSDesSub_Ini.AsString := '*';
 Dados.CDSDesNropeca.AsString := '***';
 if Dados.CDSDes.GotoKey then
 begin
 Dados.CDSEstDesconto.Value := Dados.CDSDesDesco05.Value;
 end;

 end;

 procedure TDados.CDSEstCalcFields(DataSet: TDataSet);
 begin
 ver_desconto();
 Dados.CDSEstLiquido.Value := Dados.CDSEstPv1.Value * (1 - 
 Dados.CDSEstDesconto.Value / 100);
 end;

 procedure TDados.CDSDesBeforeOpen(DataSet: TDataSet);
 begin
 Dados.CDSDes.IndexName := 'DEFAULT_ORDER';
 end;
 grato
 Stainle
























































































-- 
[]’s.

Evandro Siqueira
Programador de Sistemas
L’essentiel Lingerie
(79) 3254-5511 Ramal 218
skype: evandro.lessentiel





-- 
 FAVOR REMOVER ESTA PARTE AO RESPONDER ESTA MENSAGEM 






  Veja quais são os assuntos do momento no Yahoo! +Buscados
http://br.maisbuscados.yahoo.com

[As partes desta mensagem que não continham texto foram removidas]



Re: [delphi-br] ClientDataSet

2008-12-03 Por tôpico Coutinho - Yahoo
Vc Colocou a Midas.dll na máquina do cliente?

Sds
Emanuel Coutinho

douglasmmm escreveu:

 Boa tarde.

 Estou fazendo uma manutenção em um sistema desenvolvido a muito tempo,
 é utilizado rxMemoriData.

 Coloquei um ClientDataSet para trabalhar dados em memória, enfim
 funciona tudo direitinho na minha maquina, mas ao colocar na maquina do
 cliente o programa simplismente não abre o form que contem o
 ClientDataSet.
 Notei que a configuração para compilar as packages foram alteradas
 (constam somente vcl;rtl;vclx;vcldb;qrpt;teeqr), alguem sabe como
 resolvo o problema sem remover o ClientDataSet?

  




Re: [delphi-br] ClientDataSet

2008-12-03 Por tôpico JB
coloque a unit MidasLib na clausula uses da unit, dessa forma não
necessita copiar o midas.dll

2008/12/3 Coutinho - Yahoo [EMAIL PROTECTED]:
 Vc Colocou a Midas.dll na máquina do cliente?

 Sds
 Emanuel Coutinho

 douglasmmm escreveu:


-- 


José Benedito
Software Developer
[EMAIL PROTECTED]
www.jbsolucoes.net
+55 19 8116-7826


Re: [delphi-br] ClientDataSet

2008-12-02 Por tôpico JB
bom, como nao disse qual eh o erro q ocorre acredito q seja referente
ao midas, adicione a unit midaslib no uses do seu form com o
clientdataset

2008/12/2 douglasmmm [EMAIL PROTECTED]:
 Boa tarde.

 Estou fazendo uma manutenção em um sistema desenvolvido a muito tempo,
 é utilizado rxMemoriData.

 Coloquei um ClientDataSet para trabalhar dados em memória, enfim
 funciona tudo direitinho na minha maquina, mas ao colocar na maquina do
 cliente o programa simplismente não abre o form que contem o
 ClientDataSet.
 Notei que a configuração para compilar as packages foram alteradas
 (constam somente vcl;rtl;vclx;vcldb;qrpt;teeqr), alguem sabe como
 resolvo o problema sem remover o ClientDataSet?

-- 


José Benedito
Software Developer
[EMAIL PROTECTED]
www.jbsolucoes.net
+55 19 8116-7826


Re: [delphi-br] clientdataset + firebird

2008-08-13 Por tôpico felipe govoni
ainda nao funcionou, to tentando pesquisa no google
mas tudo o que achei foi exatamente o que voce falou Uberdam.



2008/8/12 berdam [EMAIL PROTECTED]

   no cds em cima da chave primaria, seleciona a opção pfkey no provider
 flags e no dsp como wherekeyonly

 felipe govoni escreveu:

 
  deu o seguinte erro:
 
  Unable to find record. No key specified
 
  2008/8/12 berdam [EMAIL PROTECTED] berdamzinho%40yahoo.com.br
  mailto:berdamzinho%40yahoo.com.br berdamzinho%2540yahoo.com.br
 
   refreshrecord
  
   felipe govoni escreveu:
  
   
bom dia
   
estou começando a usar o firebird mas surgiu uma
duvida:
   
coloquei no afterpost do clientdataset:
   
cdsItens.applyupdates
cdsItens.refresh //para atualizar o campo autoincremento,
pois sempre ele fica com valor zero
   
mas sempre que faço isso ele volta para o
primeiro registro da tabela, alguem sabe como posso resolver isso?
   
--
Felipe Govoni
-
Programador
Fone 8472-8718
   
[As partes desta mensagem que não continham texto foram removidas]
   
   
  
   --
   -
   Uberdam Cavaletti
   Formado em Tecnologia da informação - Unoesc - Xxe
   Pós graduando em Desenvolvimento Java - Unoesc - Xxe
  
   Acesse http://www.curricular.com.br/berdam
  http://www.curricular.com.br/berdam
   Acesse http://passandoveneno.blogspot.com
  http://passandoveneno.blogspot.com
  
   -
  
  
  
 
  --
  Felipe Govoni
  -
  Programador
  Fone 8472-8718
 
  [As partes desta mensagem que não continham texto foram removidas]
 
 

 --
 -
 Uberdam Cavaletti
 Formado em Tecnologia da informação - Unoesc - Xxe
 Pós graduando em Desenvolvimento Java - Unoesc - Xxe

 Acesse http://www.curricular.com.br/berdam
 Acesse http://passandoveneno.blogspot.com

 -

  




-- 
Felipe Govoni
-
Programador
Fone 8472-8718


[As partes desta mensagem que não continham texto foram removidas]



Re: [delphi-br] clientdataset + firebird

2008-08-13 Por tôpico Berdam
deleta a uery dsp e cds  adiciona novamente e faz essas coisas.

Enfrento problmas desses tipo as vezes

Uberdam Cavaletti
Formado em Tecnologia da Informação - Unoesc - Xxe
Pós-graduado em desenvolvimento Java - Unoesc - Xxe

 http://www.curricular.com.br/berdam

Visite
http://passandoveneno.blogspot.com



--- Em qua, 13/8/08, felipe govoni [EMAIL PROTECTED] escreveu:
De: felipe govoni [EMAIL PROTECTED]
Assunto: Re: [delphi-br] clientdataset + firebird
Para: delphi-br@yahoogrupos.com.br
Data: Quarta-feira, 13 de Agosto de 2008, 9:28











ainda nao funcionou, to tentando pesquisa no google

mas tudo o que achei foi exatamente o que voce falou Uberdam.



2008/8/12 berdam berdamzinho@ yahoo.com. br



   no cds em cima da chave primaria, seleciona a opção pfkey no provider

 flags e no dsp como wherekeyonly



 felipe govoni escreveu:



 

  deu o seguinte erro:

 

  Unable to find record. No key specified

 

  2008/8/12 berdam berdamzinho@ yahoo.com. br berdamzinho% 40yahoo.com. br

  mailto:berdamzinho %40yahoo. com.br berdamzinho% 2540yahoo. com.br

 

   refreshrecord

  

   felipe govoni escreveu:

  

   

bom dia

   

estou começando a usar o firebird mas surgiu uma

duvida:

   

coloquei no afterpost do clientdataset:

   

cdsItens.applyupdat es

cdsItens.refresh //para atualizar o campo autoincremento,

pois sempre ele fica com valor zero

   

mas sempre que faço isso ele volta para o

primeiro registro da tabela, alguem sabe como posso resolver isso?

   

--

Felipe Govoni

 -

Programador

Fone 8472-8718

   

[As partes desta mensagem que não continham texto foram removidas]

   

   

  

   --

    - - - - -

   Uberdam Cavaletti

   Formado em Tecnologia da informação - Unoesc - Xxe

   Pós graduando em Desenvolvimento Java - Unoesc - Xxe

  

   Acesse http://www.curricul ar.com.br/ berdam

  http://www.curricul ar.com.br/ berdam

   Acesse http://passandovene no.blogspot. com

  http://passandovene no.blogspot. com

  

    - - - - -

  

  

  

 

  --

  Felipe Govoni

   -

  Programador

  Fone 8472-8718

 

  [As partes desta mensagem que não continham texto foram removidas]

 

 



 --

  - - - - -

 Uberdam Cavaletti

 Formado em Tecnologia da informação - Unoesc - Xxe

 Pós graduando em Desenvolvimento Java - Unoesc - Xxe



 Acesse http://www.curricul ar.com.br/ berdam

 Acesse http://passandovene no.blogspot. com



  - - - - -



  





-- 

Felipe Govoni

 -

Programador

Fone 8472-8718



[As partes desta mensagem que não continham texto foram removidas]




  




 

















  Novos endereços, o Yahoo! que você conhece. Crie um email novo com a sua 
cara @ymail.com ou @rocketmail.com.
http://br.new.mail.yahoo.com/addresses

[As partes desta mensagem que não continham texto foram removidas]



Re: [delphi-br] clientdataset + firebird

2008-08-13 Por tôpico felipe govoni
blz vo testa aqui e depois digo se funcionou.

vlw




2008/8/13 Berdam [EMAIL PROTECTED]

   deleta a uery dsp e cds  adiciona novamente e faz essas coisas.

 Enfrento problmas desses tipo as vezes
 --
 Uberdam Cavaletti
 Formado em Tecnologia da Informação - Unoesc - Xxe
 Pós-graduado em desenvolvimento Java - Unoesc - Xxe


 http://www.curricular.com.br/berdam

 Visite
 http://passandoveneno.blogspot.com
 --

 --- Em qua, 13/8/08, felipe govoni [EMAIL 
 PROTECTED]govoni.felipe%40gmail.com
 escreveu:
 De: felipe govoni [EMAIL PROTECTED] govoni.felipe%40gmail.com
 Assunto: Re: [delphi-br] clientdataset + firebird
 Para: delphi-br@yahoogrupos.com.br delphi-br%40yahoogrupos.com.br
 Data: Quarta-feira, 13 de Agosto de 2008, 9:28

 ainda nao funcionou, to tentando pesquisa no google

 mas tudo o que achei foi exatamente o que voce falou Uberdam.

 2008/8/12 berdam berdamzinho@ yahoo.com. br

  no cds em cima da chave primaria, seleciona a opção pfkey no provider

  flags e no dsp como wherekeyonly

 

  felipe govoni escreveu:

 

  

   deu o seguinte erro:

  

   Unable to find record. No key specified

  

   2008/8/12 berdam berdamzinho@ yahoo.com. br berdamzinho% 40yahoo.com.
 br

   mailto:berdamzinho %40yahoo. com.br berdamzinho% 2540yahoo. com.br
 

  

refreshrecord

   

felipe govoni escreveu:

   



 bom dia



 estou começando a usar o firebird mas surgiu uma

 duvida:



 coloquei no afterpost do clientdataset:



 cdsItens.applyupdat es

 cdsItens.refresh //para atualizar o campo autoincremento,

 pois sempre ele fica com valor zero



 mas sempre que faço isso ele volta para o

 primeiro registro da tabela, alguem sabe como posso resolver isso?



 --

 Felipe Govoni

  -

 Programador

 Fone 8472-8718



 [As partes desta mensagem que não continham texto foram removidas]





   

--

 - - - - -

Uberdam Cavaletti

Formado em Tecnologia da informação - Unoesc - Xxe

Pós graduando em Desenvolvimento Java - Unoesc - Xxe

   

Acesse http://www.curricul ar.com.br/ berdam

   http://www.curricul ar.com.br/ berdam

Acesse http://passandovene no.blogspot. com

   http://passandovene no.blogspot. com

   

 - - - - -

   

   

   

  

   --

   Felipe Govoni

    -

   Programador

   Fone 8472-8718

  

   [As partes desta mensagem que não continham texto foram removidas]

  

  

 

  --

   - - - - -

  Uberdam Cavaletti

  Formado em Tecnologia da informação - Unoesc - Xxe

  Pós graduando em Desenvolvimento Java - Unoesc - Xxe

 

  Acesse http://www.curricul ar.com.br/ berdam

  Acesse http://passandovene no.blogspot. com

 

   - - - - -

 

 

 

 --

 Felipe Govoni

  -

 Programador

 Fone 8472-8718

 [As partes desta mensagem que não continham texto foram removidas]











 Novos endereços, o Yahoo! que você conhece. Crie um email novo com a sua
 cara @ymail.com ou @rocketmail.com.
 http://br.new.mail.yahoo.com/addresses

 [As partes desta mensagem que não continham texto foram removidas]

  




-- 
Felipe Govoni
-
Programador
Fone 8472-8718


[As partes desta mensagem que não continham texto foram removidas]



Re: [delphi-br] clientdataset + firebird

2008-08-12 Por tôpico berdam
refreshrecord

felipe govoni escreveu:

 bom dia

 estou começando a usar o firebird mas surgiu uma
 duvida:

 coloquei no afterpost do clientdataset:

 cdsItens.applyupdates
 cdsItens.refresh //para atualizar o campo autoincremento,
 pois sempre ele fica com valor zero

 mas sempre que faço isso ele volta para o
 primeiro registro da tabela, alguem sabe como posso resolver isso?

 -- 
 Felipe Govoni
 -
 Programador
 Fone 8472-8718

 [As partes desta mensagem que não continham texto foram removidas]

  

-- 
-
Uberdam Cavaletti
Formado em Tecnologia da informação - Unoesc - Xxe
Pós graduando em Desenvolvimento Java - Unoesc - Xxe

Acesse  http://www.curricular.com.br/berdam
Acesse  http://passandoveneno.blogspot.com

-



Re: [delphi-br] clientdataset + firebird

2008-08-12 Por tôpico felipe govoni
deu o seguinte erro:

Unable to find record. No key specified



2008/8/12 berdam [EMAIL PROTECTED]

   refreshrecord

 felipe govoni escreveu:

 
  bom dia
 
  estou começando a usar o firebird mas surgiu uma
  duvida:
 
  coloquei no afterpost do clientdataset:
 
  cdsItens.applyupdates
  cdsItens.refresh //para atualizar o campo autoincremento,
  pois sempre ele fica com valor zero
 
  mas sempre que faço isso ele volta para o
  primeiro registro da tabela, alguem sabe como posso resolver isso?
 
  --
  Felipe Govoni
  -
  Programador
  Fone 8472-8718
 
  [As partes desta mensagem que não continham texto foram removidas]
 
 

 --
 -
 Uberdam Cavaletti
 Formado em Tecnologia da informação - Unoesc - Xxe
 Pós graduando em Desenvolvimento Java - Unoesc - Xxe

 Acesse http://www.curricular.com.br/berdam
 Acesse http://passandoveneno.blogspot.com

 -

  




-- 
Felipe Govoni
-
Programador
Fone 8472-8718


[As partes desta mensagem que não continham texto foram removidas]



Re: [delphi-br] clientdataset + firebird

2008-08-12 Por tôpico berdam
no cds em cima da chave primaria, seleciona a opção pfkey no provider 
flags e no dsp como wherekeyonly

felipe govoni escreveu:

 deu o seguinte erro:

 Unable to find record. No key specified

 2008/8/12 berdam [EMAIL PROTECTED] 
 mailto:berdamzinho%40yahoo.com.br

  refreshrecord
 
  felipe govoni escreveu:
 
  
   bom dia
  
   estou começando a usar o firebird mas surgiu uma
   duvida:
  
   coloquei no afterpost do clientdataset:
  
   cdsItens.applyupdates
   cdsItens.refresh //para atualizar o campo autoincremento,
   pois sempre ele fica com valor zero
  
   mas sempre que faço isso ele volta para o
   primeiro registro da tabela, alguem sabe como posso resolver isso?
  
   --
   Felipe Govoni
   -
   Programador
   Fone 8472-8718
  
   [As partes desta mensagem que não continham texto foram removidas]
  
  
 
  --
  -
  Uberdam Cavaletti
  Formado em Tecnologia da informação - Unoesc - Xxe
  Pós graduando em Desenvolvimento Java - Unoesc - Xxe
 
  Acesse http://www.curricular.com.br/berdam 
 http://www.curricular.com.br/berdam
  Acesse http://passandoveneno.blogspot.com 
 http://passandoveneno.blogspot.com
 
  -
 
 
 

 -- 
 Felipe Govoni
 -
 Programador
 Fone 8472-8718

 [As partes desta mensagem que não continham texto foram removidas]

  

-- 
-
Uberdam Cavaletti
Formado em Tecnologia da informação - Unoesc - Xxe
Pós graduando em Desenvolvimento Java - Unoesc - Xxe

Acesse  http://www.curricular.com.br/berdam
Acesse  http://passandoveneno.blogspot.com

-



RE: [delphi-br] ClientDataSet

2008-08-05 Por tôpico Rubem Nascimento da Rocha

Meu caro, vc está equivocado!

O uso da propriedade CommandText sujeita o uso do ClientDataSet com um 
DataSetProvider, e este estar ligado a um componente de consulta SQL conectado 
a um banco de dados. Ou seja, não se pode emitir um SELECT para uma base local, 
quer seja ela em formato bínário ou em formato XML packet. Se vc precisa fazer 
filtros e seleções, prefira o uso da propriedade Filter, pois o ClientDataSet 
não possui, nele embutido, um interpretador do tipo 'SQL Engine' para 
interpretar uma instrução SELECT.

Boa sorte.
Sds.



To: delphi-br@yahoogrupos.com.br
From: [EMAIL PROTECTED]
Date: Tue, 5 Aug 2008 16:59:01 +
Subject: [delphi-br] ClientDataSet


Boa Tarde, pessoal estou tentando fazer uso do CommandText num
ClientDataSet que está sómente LOCAL, salvei os dados com
CDS1.SaveToFile('c:\usr\estoque', pfbinary) e quando abro um segundo
CDS e fazendo CDS2.LoadFromFile('c:\usr\estoque') carrego os dados
perfeitamente, mas agora preciso filtrar estes dados como SALDO = 0 por
exemplo, estou tentando fazer uso do COMMANDTEXT e criar meu select
mas não estou tento resultado, isto não é possível mesmo ?, tem outra
maneira de fazer isto ?

grato

Stainle


_
Instale a Barra de Ferramentas com Desktop Search e ganhe EMOTICONS para o 
Messenger! É GRÁTIS!
http://www.msn.com.br/emoticonpack

RE: [delphi-br] ClientDataSet

2008-08-05 Por tôpico Nivaldo Stainle
valeu, foi o que imaginei.
 
grato
 
Stainle

--- Em ter, 5/8/08, Rubem Nascimento da Rocha [EMAIL PROTECTED] escreveu:

De: Rubem Nascimento da Rocha [EMAIL PROTECTED]
Assunto: RE: [delphi-br] ClientDataSet
Para: delphi-br@yahoogrupos.com.br
Data: Terça-feira, 5 de Agosto de 2008, 14:08







Meu caro, vc está equivocado!

O uso da propriedade CommandText sujeita o uso do ClientDataSet com um 
DataSetProvider, e este estar ligado a um componente de consulta SQL conectado 
a um banco de dados. Ou seja, não se pode emitir um SELECT para uma base local, 
quer seja ela em formato bínário ou em formato XML packet. Se vc precisa fazer 
filtros e seleções, prefira o uso da propriedade Filter, pois o ClientDataSet 
não possui, nele embutido, um interpretador do tipo 'SQL Engine' para 
interpretar uma instrução SELECT.

Boa sorte.
Sds.

 _ _ __
To: [EMAIL PROTECTED] os.com.br
From: stainle2003@ yahoo.com. br
Date: Tue, 5 Aug 2008 16:59:01 +
Subject: [delphi-br] ClientDataSet

Boa Tarde, pessoal estou tentando fazer uso do CommandText num
ClientDataSet que está sómente LOCAL, salvei os dados com
CDS1.SaveToFile( 'c:\usr\estoque' , pfbinary) e quando abro um segundo
CDS e fazendo CDS2.LoadFromFile( 'c:\usr\estoque' ) carrego os dados
perfeitamente, mas agora preciso filtrar estes dados como SALDO = 0 por
exemplo, estou tentando fazer uso do COMMANDTEXT e criar meu select
mas não estou tento resultado, isto não é possível mesmo ?, tem outra
maneira de fazer isto ?

grato

Stainle

 _ _ _ _ _ _
Instale a Barra de Ferramentas com Desktop Search e ganhe EMOTICONS para o 
Messenger! É GRÁTIS!
http://www.msn. com.br/emoticonp ack 














  Novos endereços, o Yahoo! que você conhece. Crie um email novo com a sua 
cara @ymail.com ou @rocketmail.com.
http://br.new.mail.yahoo.com/addresses

[As partes desta mensagem que não continham texto foram removidas]



RE: [delphi-br] ClientDataSet

2008-07-15 Por tôpico Rubem Nascimento da Rocha

Vc pode abrir um campo do tipo TDataSetField usando um outro ClientDataSet. 
Para atribuir para a propriedade DataSetField o campo TDataSetField do outro 
ClientDataSet. Informe-se mais no help do Delphi. Sds.




CC: [EMAIL PROTECTED]; delphi-br@yahoogrupos.com.br
From: [EMAIL PROTECTED]
Date: Tue, 15 Jul 2008 13:49:16 -0300
Subject: [delphi-br] ClientDataSet

Ola Senhores,

Estou desenvolvendo a NFE, e após abrir o arquivo XML pelo CDS, foram
criados campos do Tipo DataSet.

Queria saber dos senhores como faço para trabalhar com esse campo?
Como faço para acessar e preencher esses campos DataSet?

e para melhorar dentro de um campo tipo DataSet também contém campos do
mesmo tipo.


se alguem poder mu ajudar ficarei grato

_
Instale a Barra de Ferramentas com Desktop Search e ganhe EMOTICONS para o 
Messenger! É GRÁTIS!
http://www.msn.com.br/emoticonpack

Re: [delphi-br] clientdataset feito por mim..

2008-04-15 Por tôpico Marcos Douglas
Bem, como vc alterou o comportamento padrão do ClientDataSet, fica
difícil saber o que está errado... Somente vendo o código fonte do
componente...

--
Marcos Douglas

2008/4/15 Rafael Jorge [EMAIL PROTECTED]:
 Eu criei um componente herdado do tclientdataset, coloquei alguns
  funcionalidades nele, tipo uma propriedade autoapply que se tiver setada
  como true após um post ele já envia um applyupdates automaticamente. Esse
  meu componente vem funcionando perfeitamente mas a alguns dias um cliente
  meu tem reclamado pois ele edita os preços e demais coisas da tabela de
  produto, salva (da um post) e quando volta a tela ou vai ver nenhuma mudança
  que ele fez o sistema aplicou no banco, e com se estivese so local (no delta
  do clientdataset), o sistema ta rodando la a mais de um ano e só ta dando
  isso agora. Alguém sabe o que pode ta causando isso e como corrigir? O mesmo
  programa toda em vários outros clientes e so la esta dando essa bronca.. o
  banco de dados é firebird 1.5

  T+

  ---
  Rafael jorge alves (Analista/desenvolvedor)

  www.sistemafocus.com.br
  sistema focus de gestão comercial e serviços em informatica.
  ---


  [As partes desta mensagem que não continham texto foram removidas]


  

  --
   FAVOR REMOVER ESTA PARTE AO RESPONDER ESTA MENSAGEM 







-- 
Marcos Douglas


Re: [delphi-br] clientdataset feito por mim..

2008-04-15 Por tôpico Rafael Jorge
so fiz o que foi dito..
colocoque um applyupdates no afterpost do componente so isso.
coloquei tambem outras coisas que nao vem ao caso pois sao especificas das
minhas necessidades e nao afetam no ocorrido pois nao tem vinculo nenhum com
post nem apply. sao rotinas pra validae se foi passado usuario e empresa,
essas coisas. o sistema vem funcionando a um ano nesse cliente é a 3 anos em
outros estabelecimentos.
t+


Em 15/04/08, Marcos Douglas [EMAIL PROTECTED] escreveu:

   Bem, como vc alterou o comportamento padrão do ClientDataSet, fica
 difícil saber o que está errado... Somente vendo o código fonte do
 componente...

 --
 Marcos Douglas

 2008/4/15 Rafael Jorge [EMAIL PROTECTED] rafael.jorge%40gmail.com
 :

  Eu criei um componente herdado do tclientdataset, coloquei alguns
  funcionalidades nele, tipo uma propriedade autoapply que se tiver setada
  como true após um post ele já envia um applyupdates automaticamente.
 Esse
  meu componente vem funcionando perfeitamente mas a alguns dias um
 cliente
  meu tem reclamado pois ele edita os preços e demais coisas da tabela de
  produto, salva (da um post) e quando volta a tela ou vai ver nenhuma
 mudança
  que ele fez o sistema aplicou no banco, e com se estivese so local (no
 delta
  do clientdataset), o sistema ta rodando la a mais de um ano e só ta
 dando
  isso agora. Alguém sabe o que pode ta causando isso e como corrigir? O
 mesmo
  programa toda em vários outros clientes e so la esta dando essa bronca..
 o
  banco de dados é firebird 1.5
 
  T+
 
  --
  Rafael jorge alves (Analista/desenvolvedor)
 
  www.sistemafocus.com.br
  sistema focus de gestão comercial e serviços em informatica.
  --
 
 
  [As partes desta mensagem que não continham texto foram removidas]
 
 
  
 
  --
   FAVOR REMOVER ESTA PARTE AO RESPONDER ESTA MENSAGEM 
 
 
 
 

 --
 Marcos Douglas

  




-- 
---
Rafael jorge alves (Analista/desenvolvedor)

www.sistemafocus.com.br
sistema focus de gestão comercial e serviços em informatica.
---


[As partes desta mensagem que não continham texto foram removidas]



Re: [delphi-br] clientdataset feito por mim..

2008-04-15 Por tôpico FRANCISCO Rodrigues

Voce usa o DataSetProvider? Se usa, voce setou algum evento no OnUpdateError? 
  Digo isso porque às vezes o banco retorna um erro de uma trigger ou algum 
exception, e o cds nao consegue tratar e nem dá msg nenhuma para o cliente.
  O que pode estar acontecendo é o banco estar recusando os updates, insert e 
deletes e isso nao aparece na tela, e ai fica parecendo que gravou.
  Acontece isso às vezes comigo no MSSQL, por isso uso o evento onupdateerror 
no DSP.
   
  Grato,
   
  Francisco Rodrigues.
   
  Rafael Jorge [EMAIL PROTECTED] escreveu:
  so fiz o que foi dito..
colocoque um applyupdates no afterpost do componente so isso.
coloquei tambem outras coisas que nao vem ao caso pois sao especificas das
minhas necessidades e nao afetam no ocorrido pois nao tem vinculo nenhum com
post nem apply. sao rotinas pra validae se foi passado usuario e empresa,
essas coisas. o sistema vem funcionando a um ano nesse cliente é a 3 anos em
outros estabelecimentos.
t+

Em 15/04/08, Marcos Douglas [EMAIL PROTECTED] escreveu:

 Bem, como vc alterou o comportamento padrão do ClientDataSet, fica
 difícil saber o que está errado... Somente vendo o código fonte do
 componente...

 --
 Marcos Douglas

 2008/4/15 Rafael Jorge [EMAIL PROTECTED] rafael.jorge%40gmail.com
 :

  Eu criei um componente herdado do tclientdataset, coloquei alguns
  funcionalidades nele, tipo uma propriedade autoapply que se tiver setada
  como true após um post ele já envia um applyupdates automaticamente.
 Esse
  meu componente vem funcionando perfeitamente mas a alguns dias um
 cliente
  meu tem reclamado pois ele edita os preços e demais coisas da tabela de
  produto, salva (da um post) e quando volta a tela ou vai ver nenhuma
 mudança
  que ele fez o sistema aplicou no banco, e com se estivese so local (no
 delta
  do clientdataset), o sistema ta rodando la a mais de um ano e só ta
 dando
  isso agora. Alguém sabe o que pode ta causando isso e como corrigir? O
 mesmo
  programa toda em vários outros clientes e so la esta dando essa bronca..
 o
  banco de dados é firebird 1.5
 
  T+
 
  --
  Rafael jorge alves (Analista/desenvolvedor)
 
  www.sistemafocus.com.br
  sistema focus de gestão comercial e serviços em informatica.
  --
 
 
  [As partes desta mensagem que não continham texto foram removidas]
 
 
  
 
  --
   FAVOR REMOVER ESTA PARTE AO RESPONDER ESTA MENSAGEM 
 
 
 
 

 --
 Marcos Douglas

 


-- 
--
Rafael jorge alves (Analista/desenvolvedor)

www.sistemafocus.com.br
sistema focus de gestão comercial e serviços em informatica.
--

[As partes desta mensagem que não continham texto foram removidas]



   

 between -00-00 and -99-99   
-
Abra sua conta no Yahoo! Mail, o único sem limite de espaço para armazenamento! 

[As partes desta mensagem que não continham texto foram removidas]



RE: [delphi-br] ClientDataSet e Transações

2008-04-11 Por tôpico Bruno Lichot
O metodo applyupdates é uma transação monitorada, o parâmetro deste método é o 
numro de erros que podem ocorrer. Por isso se colocar zero, este não permitira 
erros..

 

Abs

 

BL

 

From: delphi-br@yahoogrupos.com.br [mailto:[EMAIL PROTECTED] On Behalf Of 
Ricardo César Cardoso
Sent: sexta-feira, 11 de abril de 2008 13:59
To: delphi-br@yahoogrupos.com.br
Subject: [delphi-br] ClientDataSet e Transações

 

Boa tarde, colegas!

Estou com uma dúvida aqui... Quando trabalho com TClientDataSet, preciso 
controlar explicitamente as transações ou o TClientDataSet faz isso por mim?

Atte,
Ricardo.

-
Abra sua conta no Yahoo! Mail, o único sem limite de espaço para armazenamento! 

[As partes desta mensagem que não continham texto foram removidas]

 



[As partes desta mensagem que não continham texto foram removidas]



Re: [delphi-br] ClientDataSet e Transações

2008-04-11 Por tôpico Claudio Marconi
Pelo que eu entendi de sua pergunta, sim.

O ClientDataSet faz o controle de transacoes automaticamente atraves do
metodo ApplyUpdates.(Na verdade quem faz é o SQLConnection atraves dos
Metodos StartTransaction,. Commit e Rollback).

Quero dizer, qndo vc chama este metodo ele pega as alteracoes que tem no
cache e grava no banco de dados.

Mas caso vc queria controlar transacoes como em uma transferencia bancaria
vc deverá fazer isto atraves dos
metodos mencionados acima. Com o SQLConnection, mas continua utilizando o
ApplyUpdates.

tendeu ?



Em 11/04/08, Ricardo César Cardoso [EMAIL PROTECTED] escreveu:

   Boa tarde, colegas!

 Estou com uma dúvida aqui... Quando trabalho com TClientDataSet, preciso
 controlar explicitamente as transações ou o TClientDataSet faz isso por mim?

 Atte,
 Ricardo.

 -
 Abra sua conta no Yahoo! Mail, o único sem limite de espaço para
 armazenamento!

 [As partes desta mensagem que não continham texto foram removidas]

  




-- 
Cláudio Marconi
Delphi/DirectShow Developer
55 61 8406-6451


[As partes desta mensagem que não continham texto foram removidas]



RE: [delphi-br] ClientDataSet e Transações

2008-04-11 Por tôpico Ricardo César Cardoso
Pois é, Bruno. Tenho isso em mente, mas alguém me questionou que estou 
equivocado e o melhor é sempre ter uma transação explícita mesmo trabalhando 
com ClientDataSet, mas não sei... não me convenceu.

Agora, se puder me confirme: mesmo que eu esteja usando mestre/detalhes, não 
preciso ter uma transação controlando uma atualização não é?

Ilustro com o seguinte exemplo:

O usuário lança uma nota de entrada de estoque e clica em confirmar. 
  
 rodo o CDS de itens aumentando a posição de estoque. 
 dou applyUpdates no CDS da Nota. 
 dou AppyUpdates no CDS q alterou o estoque. 
 dou AppyUpdates no CDS dos itens. 
  
 ai no CDS dos Itens (eram 20 itens). 
 deu erro em um. mais necessáriamente o item 14. 
  
Bastaria checar o número de erros durante o ApplyUpdates para emitir uma 
mensagm, não é? E dependendo de como quiser tratar, ir aplicando CancelUpdates 
para evitar o desastre, não?

Atte,
Ricardo.

Bruno Lichot [EMAIL PROTECTED] escreveu: O metodo 
applyupdates é uma transação monitorada, o parâmetro deste método é o numro de 
erros que podem ocorrer. Por isso se colocar zero, este não permitira erros..
 
 Abs
 
 BL
 






   
-
Abra sua conta no Yahoo! Mail, o único sem limite de espaço para armazenamento! 

[As partes desta mensagem que não continham texto foram removidas]



RE: [delphi-br] ClientDataSet e Transações

2008-04-11 Por tôpico Rubem Nascimento da Rocha

O ClientDataSet, via TDataSetProvider, já faz esse controle de forma 
transparente, mesmo se vc ClientDataSets aninhados representando uma relação 
mestre-detalhe.

Sds.




To: delphi-br@yahoogrupos.com.br
From: [EMAIL PROTECTED]
Date: Fri, 11 Apr 2008 13:58:51 -0300
Subject: [delphi-br] ClientDataSet e Transações







Boa tarde, colegas!

Estou com uma dúvida aqui... Quando trabalho com TClientDataSet, preciso 
controlar explicitamente as transações ou o TClientDataSet faz isso por mim?

Atte,
Ricardo.

-
Abra sua conta no Yahoo! Mail, o único sem limite de espaço para armazenamento!

[As partes desta mensagem que não continham texto foram removidas]









_
Cansado de espaço para só 50 fotos? Conheça o Spaces, o site de relacionamentos 
com até 6,000 fotos!
http://www.amigosdomessenger.com.br


Re:[delphi-br] ClientDataSet e Transa ções

2008-04-11 Por tôpico Walter Chagas (BOL)
Não, quem vai fazer isto pra você é o Datasource Provider.

[]s
 
 
 
Walter Alves Chagas Junior
Belo Horizonte - MG - Brazil
[EMAIL PROTECTED]
http://www.geocities.com/SiliconValley/Bay/1058
http://delphitocorporerm.blogspot.com/
MSN: [EMAIL PROTECTED]
SKYPE: WalterChagasJr


-- Início da mensagem original ---

  De: delphi-br@yahoogrupos.com.br
Para: delphi-br@yahoogrupos.com.br
  Cc: 
Data: Fri, 11 Apr 2008 13:58:51 -0300 (ART)
 Assunto: [delphi-br] ClientDataSet e Transações

 Boa tarde, colegas!
 
 Estou com uma dúvida aqui... Quando trabalho com TClientDataSet, preciso 
 controlar explicitamente as transações ou o TClientDataSet faz isso por mim?
 
 Atte,
 Ricardo.
 

 -
 Abra sua conta no Yahoo! Mail, o único sem limite de espaço para 
 armazenamento! 
 
 [As partes desta mensagem que não continham texto foram removidas]
 
 



Re: [delphi-br] ClientDataSet e Transações

2008-04-11 Por tôpico Adriano Santos (Yahoo)
Precisa controlar. Como está usando o componente?
DBExpress?

Se for DBExpress, receita de bolo, precisa fazer o seguinte:

procedure TForm1..
var
  Trans : TTransactionDesc;
begin
  Trans.TransationID := 1;
  Trans.IsolationLevel := xilREADCOMMITTED;
  try
SqlConnection.StartTransation(Trans):
//comandos de gravação
SqlConnection.Commit(Trans):
  except
SqlConnection.RollBack(Trans):
  end;
end;

Dá uma olhada nesse link, tem uma discussão enorme sobre isso que dá pra 
aprender e entender bastante coisa.
http://forum.clubedelphi.net/viewtopic.php?t=75031postdays=0postorder=ascstart=30sid=002f1248ced44cd1c792b6f25d78c5c9



Abs


Adriano Santos
-
Editor Técnico Revista ClubeDelphi
www.delphitodelphi.blogspot.com
www.devmedia.com.br
www.devmedia.com.br/clubedelphi/pagina.asp




Ricardo César Cardoso respondeu:

 Boa tarde, colegas!

 Estou com uma dúvida aqui... Quando trabalho com TClientDataSet, 
 preciso controlar explicitamente as transações ou o TClientDataSet faz 
 isso por mim?

 Atte,
 Ricardo.

 -
 Abra sua conta no Yahoo! Mail, o único sem limite de espaço para 
 armazenamento!

 [As partes desta mensagem que não continham texto foram removidas]

 
 

 No virus found in this incoming message.
 Checked by AVG. 
 Version: 7.5.519 / Virus Database: 269.22.12/1373 - Release Date: 11/4/2008 
 09:17
   


Re: [delphi-br] ClientDataSet e Transações

2008-04-11 Por tôpico Joel Alexandre
Claudio,

Só pegando uma carona no topico. Esses dias vi uma video do Guinter 
e num exemplo que mostrava na tela tinha um botão de post e outro 
ApplyUpdate. Ele alterava o dado no grid, clicava em Post e depois em 
ApplyUpdate. Fiquei boiando porque achava que o Post já fazia esse 
commit no banco.
   
[]Os Joel
 Pelo que eu entendi de sua pergunta, sim.

 O ClientDataSet faz o controle de transacoes automaticamente atraves do
 metodo ApplyUpdates.(Na verdade quem faz é o SQLConnection atraves dos
 Metodos StartTransaction,. Commit e Rollback).

 Quero dizer, qndo vc chama este metodo ele pega as alteracoes que tem no
 cache e grava no banco de dados.

 Mas caso vc queria controlar transacoes como em uma transferencia bancaria
 vc deverá fazer isto atraves dos
 metodos mencionados acima. Com o SQLConnection, mas continua utilizando o
 ApplyUpdates.

 tendeu ?



 Em 11/04/08, Ricardo César Cardoso [EMAIL PROTECTED] escreveu:
   
   Boa tarde, colegas!

 Estou com uma dúvida aqui... Quando trabalho com TClientDataSet, preciso
 controlar explicitamente as transações ou o TClientDataSet faz isso por mim?

 Atte,
 Ricardo.

 -
 Abra sua conta no Yahoo! Mail, o único sem limite de espaço para
 armazenamento!

 [As partes desta mensagem que não continham texto foram removidas]

  

 



   



[As partes desta mensagem que não continham texto foram removidas]



Re: [delphi-br] ClientDataSet e Transações

2008-04-11 Por tôpico Ricardo César Cardoso
Nope, Joel. Post só manda o registro para o cache do TClientDataSet. Quem acaba 
fazendo o envio pro BD é o ApplyUpdates.

Gostaria de agradecer todos os colegas ( Rubem Nascimento, Bruno Lichot, Walter 
Chagas e Adriano Santos ) por confirmarem o ponto de vista que não necessito 
explicitar o uso de transações e esclarecer qual componente é responsável por 
facilitar a vida escondendo as transações.

Valeu mesmo!

Atte,
Ricardo.

Joel Alexandre [EMAIL PROTECTED] escreveu: 
Claudio,
 
 Só pegando uma carona no topico. Esses dias vi uma video do Guinter 
 e num exemplo que mostrava na tela tinha um botão de post e outro 
 ApplyUpdate. Ele alterava o dado no grid, clicava em Post e depois em 
 ApplyUpdate. Fiquei boiando porque achava que o Post já fazia esse 
 commit no banco.

 []Os Joel






   
-
Abra sua conta no Yahoo! Mail, o único sem limite de espaço para armazenamento! 

[As partes desta mensagem que não continham texto foram removidas]



Re: [delphi-br] ClientDataSet BMP x JPG

2008-04-07 Por tôpico Ricardo César Cardoso
Bom dia Juliano!

Dá uma olhadinha nessas duas dicas, pode ser que elas te ajudem um pouco.

[ http://www.swissdelphicenter.ch/torry/showcode.php?id=2012 ]
[ http://www.swissdelphicenter.ch/torry/showcode.php?id=1883 ]

Atte,
Ricardo.

Juliano Silva - Yahoo [EMAIL PROTECTED] escreveu: 
Pessoal
  
 Estou fazendo a captura de imagem dos clientes (com webcam) mas o
 ClientDataSet não aceita que eu coloque no banco uma imagem no formato JPG,
 apenas BMP... como estou fazendo: 
  
 1. Capturo a foto da WebCam, esta é salva como BMP
 2. Converto para JPG a foto pois fica muito menor então fico com 2 imagens
 (Imagem.bmp e Imagem.jpg)
 3. Carrego o campo com a imagem JPG mas não funciona, apenas como BMP
 funciona.
  
 [ FUNCIONA ]   edCLI_IMG_FOTO.Bitmap.LoadFromFile('Imagem.bmp');
 [ NAO FUNCIONA ]   edCLI_IMG_FOTO.Bitmap.LoadFromFile('Imagem.jpg');
 [ NAO FUNCIONA ]   edCLI_IMG_FOTO.LoadFromFile('Imagem.jpg');
  
 ** PORQUE NÃO FUNCIONA JPG ? 
 
 Utilizo o Firebird 1.5 o campo CLI_IMG_FOTO é do tipo BLOB 0
  
 att.
  
 Juliano Silva
 
 [As partes desta mensagem que não continham texto foram removidas]
 
 
 
 



   
-
Abra sua conta no Yahoo! Mail, o único sem limite de espaço para armazenamento! 

[As partes desta mensagem que não continham texto foram removidas]



Re: [delphi-br] ClientDataSet BMP x JPG

2008-04-07 Por tôpico humberto sales
tente assim:
   
  edCLI_IMG_FOTO. picture.LoadFromF ile('Imagem. bmp');
[ NAO FUNCIONA ] 
   
   
  

Juliano Silva - Yahoo [EMAIL PROTECTED] escreveu:
  Pessoal

Estou fazendo a captura de imagem dos clientes (com webcam) mas o
ClientDataSet não aceita que eu coloque no banco uma imagem no formato JPG,
apenas BMP... como estou fazendo: 

1. Capturo a foto da WebCam, esta é salva como BMP
2. Converto para JPG a foto pois fica muito menor então fico com 2 imagens
(Imagem.bmp e Imagem.jpg)
3. Carrego o campo com a imagem JPG mas não funciona, apenas como BMP
funciona.

[ FUNCIONA ] edCLI_IMG_FOTO.Bitmap.LoadFromFile('Imagem.bmp');
[ NAO FUNCIONA ] edCLI_IMG_FOTO.Bitmap.LoadFromFile('Imagem.jpg');
[ NAO FUNCIONA ] edCLI_IMG_FOTO.LoadFromFile('Imagem.jpg');

** PORQUE NÃO FUNCIONA JPG ? 

Utilizo o Firebird 1.5 o campo CLI_IMG_FOTO é do tipo BLOB 0

att.

Juliano Silva

[As partes desta mensagem que não continham texto foram removidas]



   

   
-
Abra sua conta no Yahoo! Mail, o único sem limite de espaço para armazenamento! 

[As partes desta mensagem que não continham texto foram removidas]



Re: [delphi-br] ClientDataSet BMP x JPG

2008-04-07 Por tôpico Alexandre Nicolas
Se não me engano, basta colocar na cláusula uses a unit Jpeg que ele passa 
a aceitar o JPG.

PS: Tudo que respondo nessa lista demora uma eternidade para chegar no grupo...
pra vocês terem uma idéia: 
agora são 08h41 da manhã do dia 7/4...vamos ver quando essa resposta chega na 
lista...
Desse ser um problema crônico do yahoo groups...poderíamos discutir a idéia de 
migrar
o grupo para o GoogleGroups hein...está muito melhor e mais moderno que o 
yahoo...está aberta a discussão.

[]s

Alexandre NIcolas



  - Original Message - 
  From: Juliano Silva - Yahoo 
  To: delphi-br@yahoogrupos.com.br 
  Sent: Monday, April 07, 2008 8:33 AM
  Subject: [delphi-br]  ClientDataSet BMP x JPG 


  Pessoal

  Estou fazendo a captura de imagem dos clientes (com webcam) mas o
  ClientDataSet não aceita que eu coloque no banco uma imagem no formato JPG,
  apenas BMP... como estou fazendo: 

  1. Capturo a foto da WebCam, esta é salva como BMP
  2. Converto para JPG a foto pois fica muito menor então fico com 2 imagens
  (Imagem.bmp e Imagem.jpg)
  3. Carrego o campo com a imagem JPG mas não funciona, apenas como BMP
  funciona.

  [ FUNCIONA ] edCLI_IMG_FOTO.Bitmap.LoadFromFile('Imagem.bmp');
  [ NAO FUNCIONA ] edCLI_IMG_FOTO.Bitmap.LoadFromFile('Imagem.jpg');
  [ NAO FUNCIONA ] edCLI_IMG_FOTO.LoadFromFile('Imagem.jpg');

  ** PORQUE NÃO FUNCIONA JPG ? 

  Utilizo o Firebird 1.5 o campo CLI_IMG_FOTO é do tipo BLOB 0

  att.

  Juliano Silva

  [As partes desta mensagem que não continham texto foram removidas]



   

[As partes desta mensagem que não continham texto foram removidas]



RE: [delphi-br] ClientDataset

2008-03-26 Por tôpico Rubem Nascimento da Rocha

No evento BeforeUpdateRecord do TDataSetProvider do ClientDataSet vc pode fazer 
isso.
Sds.




To: delphi-br@yahoogrupos.com.br
From: [EMAIL PROTECTED]
Date: Wed, 26 Mar 2008 15:32:30 -0300
Subject: [delphi-br] ClientDataset







Galera
Estou usando TSQLQuery, DataSetProvider e ClientDataset.

Na consulta no TSQLQUERY, eu tenho um sql que envolve 3 tabelas, sendo que 
apenas uma destas eu realmente realizo as operações. É possível que eu atualize 
os dados dessa tabela, e de outro campo de outro tabela??

Eu setei as providersflags do campo como update true, mas não consegui resolver.

Alguém tem alguma idéia??

--
Uberdam Cavaletti
Formado em Tecnologia da Informação - Unoesc - Xxe
Pós-graduado em desenvolvimento Java - Unoesc - Xxe

-
http://www.curricular.com.br/berdam

Visite
http://passandoveneno.blogspot.com
--

-
Abra sua conta no Yahoo! Mail, o único sem limite de espaço para armazenamento!

[As partes desta mensagem que não continham texto foram removidas]









_
Conheça o Windows Live Spaces, a rede de relacionamentos do Messenger!
http://www.amigosdomessenger.com.br/

RE: [delphi-br] ClientDataset

2008-03-26 Por tôpico Berdam
mas n existe a possiblidade de atualizar um campo de outra tela tipo

eu tenho uma tabela de lançamentos ligada com uma conta
a cada novo lançamento eu tenho que atualizar o saldo da conta.

Não posso fazer isso??


Rubem Nascimento da Rocha [EMAIL PROTECTED] escreveu: 

 No evento BeforeUpdateRecord do TDataSetProvider do ClientDataSet vc pode 
fazer isso.
 Sds.
 
 
 
 To: delphi-br@yahoogrupos.com.br
 From: [EMAIL PROTECTED]
 Date: Wed, 26 Mar 2008 15:32:30 -0300
 Subject: [delphi-br] ClientDataset
 
 Galera
 Estou usando TSQLQuery, DataSetProvider e ClientDataset.
 
 Na consulta no TSQLQUERY, eu tenho um sql que envolve 3 tabelas, sendo que 
apenas uma destas eu realmente realizo as operações. É possível que eu atualize 
os dados dessa tabela, e de outro campo de outro tabela??
 
 Eu setei as providersflags do campo como update true, mas não consegui 
resolver.
 
 Alguém tem alguma idéia??
 
 --
 Uberdam Cavaletti
 Formado em Tecnologia da Informação - Unoesc - Xxe
 Pós-graduado em desenvolvimento Java - Unoesc - Xxe
 
 -
 http://www.curricular.com.br/berdam
 
 Visite
 http://passandoveneno.blogspot.com
 --
 
 -
 Abra sua conta no Yahoo! Mail, o único sem limite de espaço para armazenamento!
 
 [As partes desta mensagem que não continham texto foram removidas]
 
 __
 Conheça o Windows Live Spaces, a rede de relacionamentos do Messenger!
 http://www.amigosdomessenger.com.br/
 
   



Uberdam Cavaletti
Formado em Tecnologia da Informação - Unoesc - Xxe
Pós-graduado em desenvolvimento Java - Unoesc - Xxe


-
http://www.curricular.com.br/berdam

Visite
http://passandoveneno.blogspot.com


   
-
Abra sua conta no Yahoo! Mail, o único sem limite de espaço para armazenamento! 

[As partes desta mensagem que não continham texto foram removidas]



RE: [delphi-br] ClientDataset

2008-03-26 Por tôpico Rubem Nascimento da Rocha

Reafirmo que neste evento vc pode fazer isso, porém, neste evento vc faz isso 
em relação ao banco de dados, e não com relação ao dados visualizados no 
dataset localmente. Com base nisso, se vc quiser ver o outro dado da outra 
tabela em um outro formulário, terá que ser feito um esquema de refresh no 
dataset deste outro formulário para ver a atualização efetivada.

Sds.






To: delphi-br@yahoogrupos.com.br
From: [EMAIL PROTECTED]
Date: Wed, 26 Mar 2008 15:44:17 -0300
Subject: RE: [delphi-br] ClientDataset







mas n existe a possiblidade de atualizar um campo de outra tela tipo

eu tenho uma tabela de lançamentos ligada com uma conta
a cada novo lançamento eu tenho que atualizar o saldo da conta.

Não posso fazer isso??

Rubem Nascimento da Rocha [EMAIL PROTECTED] escreveu:
No evento BeforeUpdateRecord do TDataSetProvider do ClientDataSet vc pode fazer 
isso.
Sds.



To: delphi-br@yahoogrupos.com.br
From: [EMAIL PROTECTED]
Date: Wed, 26 Mar 2008 15:32:30 -0300
Subject: [delphi-br] ClientDataset

Galera
Estou usando TSQLQuery, DataSetProvider e ClientDataset.

Na consulta no TSQLQUERY, eu tenho um sql que envolve 3 tabelas, sendo que 
apenas uma destas eu realmente realizo as operações. É possível que eu atualize 
os dados dessa tabela, e de outro campo de outro tabela??

Eu setei as providersflags do campo como update true, mas não consegui resolver.

Alguém tem alguma idéia??

--
Uberdam Cavaletti
Formado em Tecnologia da Informação - Unoesc - Xxe
Pós-graduado em desenvolvimento Java - Unoesc - Xxe

-
http://www.curricular.com.br/berdam

Visite
http://passandoveneno.blogspot.com
--

-
Abra sua conta no Yahoo! Mail, o único sem limite de espaço para armazenamento!

[As partes desta mensagem que não continham texto foram removidas]

__
Conheça o Windows Live Spaces, a rede de relacionamentos do Messenger!
http://www.amigosdomessenger.com.br/



--
Uberdam Cavaletti
Formado em Tecnologia da Informação - Unoesc - Xxe
Pós-graduado em desenvolvimento Java - Unoesc - Xxe

-
http://www.curricular.com.br/berdam

Visite
http://passandoveneno.blogspot.com
--

-
Abra sua conta no Yahoo! Mail, o único sem limite de espaço para armazenamento!

[As partes desta mensagem que não continham texto foram removidas]









_
Cansado de espaço para só 50 fotos? Conheça o Spaces, o site de relacionamentos 
com até 6,000 fotos!
http://www.amigosdomessenger.com.br

RE: [delphi-br] ClientDataSet

2008-02-29 Por tôpico Rubem Nascimento da Rocha

Só debugando no Win98 pra saber qual é!
Sds.



To: delphi-br@yahoogrupos.com.br
From: [EMAIL PROTECTED]
Date: Fri, 29 Feb 2008 21:53:02 +
Subject: [delphi-br] ClientDataSet







no Win98 um programa com CDS deu o seguinte erro:

Variant or safe array is locked

nos outros S.O. funcionam normalmente.
o que poderá ser ??

Stainle









_
Cansado de espaço para só 50 fotos? Conheça o Spaces, o site de relacionamentos 
com até 6,000 fotos!
http://www.amigosdomessenger.com.br

Re: [delphi-br] CLIENTDATASET x WINDOWS VISTA

2008-02-08 Por tôpico Vinicius Barreira

Qual diretorio vc está usando pra isso ? O Vista tem esquemas de 
permissão mais elaborados. Use a variável de ambiente que informa qual é 
o diretorio temporário oficial do windows (tipo c:\windows\temp), e use 
esse diretorio.

Vinicius Barreira
Check-In Informática
Software Para Hotéis / Pousadas / Moteis
São Bernardo do Campo - SP
http://www.check-in.com.br
Fone (11) 4330-3148
msn / e-mail: [EMAIL PROTECTED]
skype: vinibarr


Marcio William escreveu:

 Oi pessoal,

 Eu trabalho com clientdataset para criar um arquivo temporario, a 
 seguir eu
 salva este arquivo para depois ser usado.

 Tudo ocorre perfeitamente com 95, 98, 2000, NT, XP porem com VISTA ele 
 me da
 um erro de I/O, a versao eh HOME BASIC, alguem ja passou por isto ? como
 contornar ?

  



Re: [delphi-br] CLIENTDATASET x WINDOWS VISTA

2008-02-08 Por tôpico Fellipe Henrique
O windows vista tem certos problemas pra gravar no program files... tente
mudar o local de gravação do arquivo, ou mudar as permissões dos usuários
nesta pasta.

[]s

Em 08/02/08, Marcio William [EMAIL PROTECTED] escreveu:

   Obrigado pela dica Vinicius,

 O diretorio que estou usando eh c:\arquivos de programas\sistema\temp.


 - Original Message -
 From: Vinicius Barreira [EMAIL PROTECTED] vinibarr%40gmail.com
 To: delphi-br@yahoogrupos.com.br delphi-br%40yahoogrupos.com.br
 Sent: Thursday, February 07, 2008 10:35 PM
 Subject: Re: [delphi-br] CLIENTDATASET x WINDOWS VISTA

 
  Qual diretorio vc está usando pra isso ? O Vista tem esquemas de
  permissão mais elaborados. Use a variável de ambiente que informa qual é
  o diretorio temporário oficial do windows (tipo c:\windows\temp), e use
  esse diretorio.
 
  Vinicius Barreira
  Check-In Informática
  Software Para Hotéis / Pousadas / Moteis
  São Bernardo do Campo - SP
  http://www.check-in.com.br
  Fone (11) 4330-3148
  msn / e-mail: [EMAIL PROTECTED] vinicius%40check-in.com.br
  skype: vinibarr
 
 
  Marcio William escreveu:
 
  Oi pessoal,
 
  Eu trabalho com clientdataset para criar um arquivo temporario, a
  seguir eu
  salva este arquivo para depois ser usado.
 
  Tudo ocorre perfeitamente com 95, 98, 2000, NT, XP porem com VISTA ele
  me da
  um erro de I/O, a versao eh HOME BASIC, alguem ja passou por isto ?
 como
  contornar ?
 
 
 
 
 
  --
   FAVOR REMOVER ESTA PARTE AO RESPONDER ESTA MENSAGEM 
 
  Links do Yahoo! Grupos
 
 

  




-- 
_
T.·.F.·.A.·.
Fellipe Henrique
[EMAIL PROTECTED]


[As partes desta mensagem que não continham texto foram removidas]



Re: [delphi-br] CLIENTDATASET x WINDOWS VISTA

2008-02-08 Por tôpico Marcio William
Obrigado pela dica Vinicius,

O diretorio que estou usando eh c:\arquivos de programas\sistema\temp.


- Original Message - 
From: Vinicius Barreira [EMAIL PROTECTED]
To: delphi-br@yahoogrupos.com.br
Sent: Thursday, February 07, 2008 10:35 PM
Subject: Re: [delphi-br] CLIENTDATASET x WINDOWS VISTA



 Qual diretorio vc está usando pra isso ? O Vista tem esquemas de
 permissão mais elaborados. Use a variável de ambiente que informa qual é
 o diretorio temporário oficial do windows (tipo c:\windows\temp), e use
 esse diretorio.

 Vinicius Barreira
 Check-In Informática
 Software Para Hotéis / Pousadas / Moteis
 São Bernardo do Campo - SP
 http://www.check-in.com.br
 Fone (11) 4330-3148
 msn / e-mail: [EMAIL PROTECTED]
 skype: vinibarr


 Marcio William escreveu:

 Oi pessoal,

 Eu trabalho com clientdataset para criar um arquivo temporario, a
 seguir eu
 salva este arquivo para depois ser usado.

 Tudo ocorre perfeitamente com 95, 98, 2000, NT, XP porem com VISTA ele
 me da
 um erro de I/O, a versao eh HOME BASIC, alguem ja passou por isto ? como
 contornar ?





 -- 
  FAVOR REMOVER ESTA PARTE AO RESPONDER ESTA MENSAGEM 

 Links do Yahoo! Grupos

 



Re: [delphi-br] ClientDataSet VALOR DEFAULT

2007-12-12 Por tôpico Daniel Bastos
se vc nao cria os fields em tempo de execução, com certeza foi lá no
ClientDataSet e definiu os fields previamente.

então, observando o codigo postado anteriormente, seu field deve estar com o
seguinte nome:
CDSCODIGO.

Dai vc poderia acessar a propriedade dele que citei anteriormente, ficando o
código desta forma:
CDSCODIGO.DisplayFormat := 'Sua máscara'

Abs
Daniel A. Bastos

Em 12/12/07, Juliano Silva - Yahoo [EMAIL PROTECTED] escreveu:

   Sim

 É possível criar uma tabela de memória com o ClientDataSet, tabelas de
 memória em suma devem ser usadas em auxilio a alguma funcionalidade...

 Juliano Silva

 _

 De: delphi-br@yahoogrupos.com.br delphi-br%40yahoogrupos.com.br [mailto:
 delphi-br@yahoogrupos.com.br delphi-br%40yahoogrupos.com.br] Em
 nome de Daniel Bastos
 Enviada em: terça-feira, 11 de dezembro de 2007 18:21
 Para: delphi-br@yahoogrupos.com.br delphi-br%40yahoogrupos.com.br
 Assunto: Re: [delphi-br]  ClientDataSet VALOR DEFAULT 

 mas quando vc diz que está criando em memória, vc quer dizer que ele não
 tem
 ligação com um provider ou que está criando ele por código?

 Abs
 Daniel A. Bastos

 Em 11/12/07, Juliano Silva - Yahoo [EMAIL PROTECTED]
 mailto:smjjuliano%40yahoo.com.br com.br escreveu:
 
  Não, estou criando um DataSet de memória...
 
  _
 
  De: [EMAIL PROTECTED] mailto:delphi-br%40yahoogrupos.com.br
 os.com.br
 delphi-br%40yahoogrupos.com.br [mailto:
  [EMAIL PROTECTED] mailto:delphi-br%40yahoogrupos.com.br os.com.br
 delphi-br%40yahoogrupos.com.br] Em
  nome de Frota C. Júnior
  Enviada em: terça-feira, 11 de dezembro de 2007 10:41
  Para: [EMAIL PROTECTED] mailto:delphi-br%40yahoogrupos.com.br
 os.com.br delphi-br%40yahoogrupos.com.br

  Assunto: Re: [delphi-br]  ClientDataSet VALOR DEFAULT 
 
  Imagino que vc está acessando um banco de dados, e se for firebird, eu
  resolvi este problema usando no select select coalesce(campo01, 0) from
  tabela, o coalesce envia para o dataset o valor 0 (zero) quando o mesmo
  for
 
  nulo, assim nunca será nulo, mesmo em se tratando dos campo agregados,
 mas
 
  isso resolve o problema de uma consulta que retornou registros e que
 tenha
 
  uma ou mis colunas nulas, para o caso do select não retornar nulo isso
 não
 
  funcionará.
 
  Outra solução é você criar um campo calculado no ClientDataSet e
  atribui-lo
  o valor do campo agregado mediante um teste para verificar se o mesmo é
  nulo, se for basta incrementar zero.
 
  Espero ter ajudado.
 
  Cordialmente
  Frota C. Júnior
  www.apoio.eti.br
 
  --
  From: Juliano Silva - Yahoo [EMAIL PROTECTED]
  mailto:smjjuliano%40yahoo.com.br com.br
  Sent: Tuesday, December 11, 2007 8:56 AM
  To: [EMAIL PROTECTED] mailto:delphi-br%40yahoogrupos.com.br
 os.com.br
  
  Subject: [delphi-br]  ClientDataSet VALOR DEFAULT 
 
   Pessoal
  
   Tenho um campo AGGREGATE no ClientDataSet que faz a soma de uma coluna
  de
   valores, tenho um TDBText ligado e este campo agregate, quero deixar
 ele
 
   com
   o valor 0,00 quando não houver nenhum registro, já mexi um monte no
   ClientDataSet no campo Agregate para fazer isso, mas não estou
   conseguindo... Já usei a propriedade DEFAULT mas não estou
  conseguindo...
  
   Juliano Silva
  
  
   [As partes desta mensagem que não continham texto foram removidas]
 
  [As partes desta mensagem que não continham texto foram removidas]
 
 
 

 [As partes desta mensagem que não continham texto foram removidas]

 [As partes desta mensagem que não continham texto foram removidas]

  



[As partes desta mensagem que não continham texto foram removidas]



Re: [delphi-br] ClientDataSet VALOR DEFAULT

2007-12-11 Por tôpico Frota C . Júnior
Imagino que vc está acessando um banco de dados, e se for firebird, eu 
resolvi este problema usando no select  select coalesce(campo01, 0) from 
tabela, o coalesce envia para o dataset o valor 0 (zero) quando o mesmo for 
nulo, assim nunca será nulo, mesmo em se tratando dos campo agregados, mas 
isso resolve o problema de uma consulta que retornou registros e que tenha 
uma ou mis colunas nulas, para o caso do select não retornar nulo isso não 
funcionará.

Outra solução é você criar um campo calculado no ClientDataSet e atribui-lo 
o valor do campo agregado mediante um teste para verificar se o mesmo é 
nulo, se for basta incrementar zero.


Espero ter ajudado.

Cordialmente
Frota C. Júnior
www.apoio.eti.br

--
From: Juliano Silva - Yahoo [EMAIL PROTECTED]
Sent: Tuesday, December 11, 2007 8:56 AM
To: delphi-br@yahoogrupos.com.br
Subject: [delphi-br]  ClientDataSet VALOR DEFAULT 

 Pessoal

 Tenho um campo AGGREGATE no ClientDataSet que faz a soma de uma coluna de
 valores, tenho um TDBText ligado e este campo agregate, quero deixar ele 
 com
 o valor 0,00 quando não houver nenhum registro, já mexi um monte no
 ClientDataSet no campo Agregate para fazer isso, mas não estou
 conseguindo... Já usei a propriedade DEFAULT mas não estou conseguindo...

 Juliano Silva


 [As partes desta mensagem que não continham texto foram removidas]
 



Re: [delphi-br] ClientDataSet VALOR DEFAULT

2007-12-11 Por tôpico Luciano Angelini
Bom dia Juliano ...

Tente assim:

DBText2.Caption := '0,00' ; // Campo Aggregate ligado ao DBText2.Caption

Espero ter ajudado


Luciano Angelini
Prefeitura de Lupionópolis-Pr

Juliano Silva - Yahoo escreveu:

 Pessoal

 Tenho um campo AGGREGATE no ClientDataSet que faz a soma de uma coluna de
 valores, tenho um TDBText ligado e este campo agregate, quero deixar 
 ele com
 o valor 0,00 quando não houver nenhum registro, já mexi um monte no
 ClientDataSet no campo Agregate para fazer isso, mas não estou
 conseguindo... Já usei a propriedade DEFAULT mas não estou conseguindo...

 Juliano Silva

 [As partes desta mensagem que não continham texto foram removidas]

  


Re: [delphi-br] ClientDataSet VALOR DEFAULT

2007-12-11 Por tôpico Daniel Bastos
se não me engano, vc pode incluir mascaras de formatação para visualização
no próprio field, na propriedade DisplayFormat.

Abs.
Daniel A. Bastos

Em 11/12/07, Frota C. Júnior [EMAIL PROTECTED] escreveu:

   Imagino que vc está acessando um banco de dados, e se for firebird, eu
 resolvi este problema usando no select select coalesce(campo01, 0) from
 tabela, o coalesce envia para o dataset o valor 0 (zero) quando o mesmo
 for
 nulo, assim nunca será nulo, mesmo em se tratando dos campo agregados, mas

 isso resolve o problema de uma consulta que retornou registros e que tenha

 uma ou mis colunas nulas, para o caso do select não retornar nulo isso não

 funcionará.

 Outra solução é você criar um campo calculado no ClientDataSet e
 atribui-lo
 o valor do campo agregado mediante um teste para verificar se o mesmo é
 nulo, se for basta incrementar zero.

 Espero ter ajudado.

 Cordialmente
 Frota C. Júnior
 www.apoio.eti.br

 --
 From: Juliano Silva - Yahoo [EMAIL PROTECTED]smjjuliano%40yahoo.com.br
 
 Sent: Tuesday, December 11, 2007 8:56 AM
 To: delphi-br@yahoogrupos.com.br delphi-br%40yahoogrupos.com.br
 Subject: [delphi-br]  ClientDataSet VALOR DEFAULT 

  Pessoal
 
  Tenho um campo AGGREGATE no ClientDataSet que faz a soma de uma coluna
 de
  valores, tenho um TDBText ligado e este campo agregate, quero deixar ele

  com
  o valor 0,00 quando não houver nenhum registro, já mexi um monte no
  ClientDataSet no campo Agregate para fazer isso, mas não estou
  conseguindo... Já usei a propriedade DEFAULT mas não estou
 conseguindo...
 
  Juliano Silva
 
 
  [As partes desta mensagem que não continham texto foram removidas]


  



[As partes desta mensagem que não continham texto foram removidas]



Re: [delphi-br] ClientDataSet VALOR DEFAULT

2007-12-11 Por tôpico Daniel Bastos
mas quando vc diz que está criando em memória, vc quer dizer que ele não tem
ligação com um provider ou que está criando ele por código?

Abs
Daniel A. Bastos

Em 11/12/07, Juliano Silva - Yahoo [EMAIL PROTECTED] escreveu:

   Não, estou criando um DataSet de memória...

 _

 De: delphi-br@yahoogrupos.com.br delphi-br%40yahoogrupos.com.br [mailto:
 delphi-br@yahoogrupos.com.br delphi-br%40yahoogrupos.com.br] Em
 nome de Frota C. Júnior
 Enviada em: terça-feira, 11 de dezembro de 2007 10:41
 Para: delphi-br@yahoogrupos.com.br delphi-br%40yahoogrupos.com.br
 Assunto: Re: [delphi-br]  ClientDataSet VALOR DEFAULT 

 Imagino que vc está acessando um banco de dados, e se for firebird, eu
 resolvi este problema usando no select select coalesce(campo01, 0) from
 tabela, o coalesce envia para o dataset o valor 0 (zero) quando o mesmo
 for

 nulo, assim nunca será nulo, mesmo em se tratando dos campo agregados, mas

 isso resolve o problema de uma consulta que retornou registros e que tenha

 uma ou mis colunas nulas, para o caso do select não retornar nulo isso não

 funcionará.

 Outra solução é você criar um campo calculado no ClientDataSet e
 atribui-lo
 o valor do campo agregado mediante um teste para verificar se o mesmo é
 nulo, se for basta incrementar zero.

 Espero ter ajudado.

 Cordialmente
 Frota C. Júnior
 www.apoio.eti.br

 --
 From: Juliano Silva - Yahoo [EMAIL PROTECTED]
 mailto:smjjuliano%40yahoo.com.br com.br
 Sent: Tuesday, December 11, 2007 8:56 AM
 To: [EMAIL PROTECTED] mailto:delphi-br%40yahoogrupos.com.br os.com.br
 
 Subject: [delphi-br]  ClientDataSet VALOR DEFAULT 

  Pessoal
 
  Tenho um campo AGGREGATE no ClientDataSet que faz a soma de uma coluna
 de
  valores, tenho um TDBText ligado e este campo agregate, quero deixar ele

  com
  o valor 0,00 quando não houver nenhum registro, já mexi um monte no
  ClientDataSet no campo Agregate para fazer isso, mas não estou
  conseguindo... Já usei a propriedade DEFAULT mas não estou
 conseguindo...
 
  Juliano Silva
 
 
  [As partes desta mensagem que não continham texto foram removidas]

 [As partes desta mensagem que não continham texto foram removidas]

  



[As partes desta mensagem que não continham texto foram removidas]



Re: [delphi-br] ClientDataset-Campos não aceitam val or nulo

2007-11-08 Por tôpico MiNuTo
O erro é : FIELD VALUE REQUIRED.

 Os campos estão como not null no BD

tai not null = nao nulo


ou seja o campo nao pode ser nulo

pra resolver seu problema e so mudar o campo pra null 

RESOLVIDOOO! 


  - Original Message - 
  From: Yahoo 
  To: delphi-br@yahoogrupos.com.br 
  Sent: Wednesday, November 07, 2007 9:24 PM
  Subject: Re: [delphi-br] ClientDataset-Campos não aceitam valor nulo


  O erro é : FIELD VALUE REQUIRED. Os campos estão como not null no BD. O que 
acontece é o seguinte: Eu faço uma consulta no BD e jogo os dados em um 
clientdataset. Serão inseridos alguns dados no ClientDataset, mas esses dados 
não serão gravados de volta para o BD, mas somente no ClientDataset.(Será dado 
apenas o Post e não ApplyUpdates) Através desse ClientDataset será impresso um 
relatório. Quanto ao porquê de gravar os campos com valor nulo não dá pra 
explicar através dessa lista de discussão. Eu teria que mostrar o sistema e 
explicar isso pessoalmente.

  [As partes desta mensagem que não continham texto foram removidas]



   

[As partes desta mensagem que não continham texto foram removidas]



Re: [delphi-br] ClientDataset-Campos não aceitam val or nulo

2007-11-08 Por tôpico Yahoo
Minuto,

Eu não posso mudar os campos para not null no banco, mas eu preciso que eles 
aceitem not null no ClientDataset. Eu não vou gravar os dados no Banco, mas 
somente no ClientDataset, entendeu?


[As partes desta mensagem que não continham texto foram removidas]



Re: [delphi-br] ClientDataset-Campos não aceitam val or nulo

2007-11-08 Por tôpico Yahoo
Vitor,

O problema é este. Eu não dou o ApplyUpdates, dou somente o Post, mas acontece 
o erro mesmo assim.


[As partes desta mensagem que não continham texto foram removidas]



Re: [delphi-br] ClientDataset-Campos não aceitam val or nulo

2007-11-07 Por tôpico MiNuTo
ue amigo so se la no banco ta como notnull ...

que erro da ae???


  - Original Message - 
  From: Yahoo 
  To: delphi-br@yahoogrupos.com.br 
  Sent: Wednesday, November 07, 2007 4:03 PM
  Subject: [delphi-br] ClientDataset-Campos não aceitam valor nulo


  Pessoal,

  Preciso que os campos de um ClientDataset aceite valor nulo depois que o 
ClientDataset seja aberto, mesmo que os campos não sejam nulos no BD. Tentei 
mudar a propriedade Required para False, coloquei ProviderFlags=[], mas não 
aceitou. Tem outra maneira de resolver isso?

  [As partes desta mensagem que não continham texto foram removidas]



   

[As partes desta mensagem que não continham texto foram removidas]



Re: [delphi-br] ClientDataset-Campos não aceitam val or nulo

2007-11-07 Por tôpico Yahoo
O erro é : FIELD VALUE REQUIRED. Os campos estão como not null no BD. O que 
acontece é o seguinte: Eu faço uma consulta no BD e jogo os dados em um 
clientdataset. Serão inseridos alguns dados no ClientDataset, mas esses dados 
não serão gravados de volta para o BD, mas somente no ClientDataset.(Será dado 
apenas o Post e não ApplyUpdates) Através desse ClientDataset será impresso um 
relatório. Quanto ao porquê de gravar os campos com valor nulo não dá pra 
explicar através dessa lista de discussão. Eu teria que mostrar o sistema e 
explicar isso pessoalmente.



[As partes desta mensagem que não continham texto foram removidas]



Re: [delphi-br] ClientDataSet

2007-10-30 Por tôpico André Moraes - GMail
Veja se a propriedade packet records está com -1
- Original Message - 
From: Red Mosquito [EMAIL PROTECTED]
To: [EMAIL PROTECTED]; delphi-br@yahoogrupos.com.br
Sent: Tuesday, October 30, 2007 12:19 PM
Subject: [delphi-br] ClientDataSet


Fácil, só pra quem entende:



-Coloquei um CDS no meu form

-Coloquei Active=True + CommandText 'select * from clientes'

-na programação apenas dou um Open no CDS e em seguido verifico o
RecordCount dele



POR QUE ESTÁ RETORNANDO SEMPRE ZERO, SE TENHO CLIENETES CADASTRADOS ?



Detalhes:

-Este CDS é apenas temporário. Não irei gravar os dados em nenhuma tabela.

-No CDS não é preciso ConnectionSring ?



Delphi7 + SQLServer + ADO





Desde já muitíssimo obrigado pela atenção com este iniciante.



Atenciosamente,



Junior





[As partes desta mensagem que não continham texto foram removidas]



-- 
 FAVOR REMOVER ESTA PARTE AO RESPONDER ESTA MENSAGEM 

Links do Yahoo! Grupos




Re: [delphi-br] ClientDataSet

2007-10-30 Por tôpico Valdir Sola
vc está utilizando ele junto c/ o SQLQuery+DataSetProvider?
  - Original Message - 
  From: Red Mosquito 
  To: [EMAIL PROTECTED] ; delphi-br@yahoogrupos.com.br 
  Sent: Tuesday, October 30, 2007 12:19 PM
  Subject: [delphi-br] ClientDataSet


  Fácil, só pra quem entende:

  -Coloquei um CDS no meu form

  -Coloquei Active=True + CommandText 'select * from clientes'

  -na programação apenas dou um Open no CDS e em seguido verifico o
  RecordCount dele

  POR QUE ESTÁ RETORNANDO SEMPRE ZERO, SE TENHO CLIENETES CADASTRADOS ?

  Detalhes:

  -Este CDS é apenas temporário. Não irei gravar os dados em nenhuma tabela.

  -No CDS não é preciso ConnectionSring ?

  Delphi7 + SQLServer + ADO

  Desde já muitíssimo obrigado pela atenção com este iniciante.

  Atenciosamente,

  Junior 

  [As partes desta mensagem que não continham texto foram removidas]



   


--
  E-mail classificado pelo Identificador de Spam Inteligente.
  Para alterar a categoria classificada, visite o Terra Mail 



--
  Esta mensagem foi verificada pelo E-mail Protegido Terra.
  Scan engine: McAfee VirusScan / Atualizado em 29/10/2007 / Versão: 5.1.00/5151
  Proteja o seu e-mail Terra: http://mail.terra.com.br/ 


[As partes desta mensagem que não continham texto foram removidas]



Re: [delphi-br] ClientDataSet

2007-10-30 Por tôpico Valdir Sola
Na propriedade sql do adoquery. Vc liga o cds no datasetprovider e este ao 
query.
  - Original Message - 
  From: Red Mosquito 
  To: delphi-br@yahoogrupos.com.br 
  Sent: Tuesday, October 30, 2007 1:17 PM
  Subject: RES: [delphi-br] ClientDataSet


  Não, estou apenas com o DataSetProvider.

  Dúvida:

  Se tem que colocar o ADOQuery junto, onde colocarei meu 'select * from
  clientes' ?

  Na propriedade propriedade SQL do ADOQuery ou no CommandTexto do CDS ?

  Novamente muito obrigado pela ajuda

  Junior

  _ 

  De: delphi-br@yahoogrupos.com.br [mailto:[EMAIL PROTECTED] Em
  nome de Valdir Sola
  Enviada em: terça-feira, 30 de outubro de 2007 12:43
  Para: delphi-br@yahoogrupos.com.br
  Assunto: Re: [delphi-br] ClientDataSet

  vc está utilizando ele junto c/ o SQLQuery+DataSetProvider?
  - Original Message - 
  From: Red Mosquito 
  To: lista-delphi@ mailto:lista-delphi%40yahoogrupos.com.br
  yahoogrupos.com.br ; [EMAIL PROTECTED]
  mailto:delphi-br%40yahoogrupos.com.br os.com.br 
  Sent: Tuesday, October 30, 2007 12:19 PM
  Subject: [delphi-br] ClientDataSet

  Fácil, só pra quem entende:

  -Coloquei um CDS no meu form

  -Coloquei Active=True + CommandText 'select * from clientes'

  -na programação apenas dou um Open no CDS e em seguido verifico o
  RecordCount dele

  POR QUE ESTÁ RETORNANDO SEMPRE ZERO, SE TENHO CLIENETES CADASTRADOS ?

  Detalhes:

  -Este CDS é apenas temporário. Não irei gravar os dados em nenhuma tabela.

  -No CDS não é preciso ConnectionSring ?

  Delphi7 + SQLServer + ADO

  Desde já muitíssimo obrigado pela atenção com este iniciante.

  Atenciosamente,

  Junior 

  [As partes desta mensagem que não continham texto foram removidas]

  --
  E-mail classificado pelo Identificador de Spam Inteligente.
  Para alterar a categoria classificada, visite o Terra Mail 

  --
  Esta mensagem foi verificada pelo E-mail Protegido Terra.
  Scan engine: McAfee VirusScan / Atualizado em 29/10/2007 / Versão:
  5.1.00/5151
  Proteja o seu e-mail Terra: http://mail. http://mail.terra.com.br/
  terra.com.br/ 

  [As partes desta mensagem que não continham texto foram removidas]

  [As partes desta mensagem que não continham texto foram removidas]



   


--
  E-mail classificado pelo Identificador de Spam Inteligente.
  Para alterar a categoria classificada, visite o Terra Mail 



--
  Esta mensagem foi verificada pelo E-mail Protegido Terra.
  Scan engine: McAfee VirusScan / Atualizado em 29/10/2007 / Versão: 5.1.00/5151
  Proteja o seu e-mail Terra: http://mail.terra.com.br/ 


[As partes desta mensagem que não continham texto foram removidas]



Re: [delphi-br] ClientDataSet

2007-10-30 Por tôpico Luciano Angelini
Boa Tarde Red Mosquito 


Vc tem que liga o DataSource com o ClientDataSet  o ClientDataSet 
com DataSetProvider ... e finalmente o DataSetProvider no ADOQuery . 
e seu Select com coloca no ADOQuery e não no ClientDataSet ...


Espero ter ajudado 


Luciano Angelini
Prefeitura de Lupiponópolis-Pr

Red Mosquito escreveu:

 Fácil, só pra quem entende:

 -Coloquei um CDS no meu form

 -Coloquei Active=True + CommandText ‘select * from clientes’

 -na programação apenas dou um Open no CDS e em seguido verifico o
 RecordCount dele

 POR QUE ESTÁ RETORNANDO SEMPRE ZERO, SE TENHO CLIENETES CADASTRADOS ?

 Detalhes:

 -Este CDS é apenas temporário. Não irei gravar os dados em nenhuma tabela.

 -No CDS não é preciso ConnectionSring ?

 Delphi7 + SQLServer + ADO

 Desde já muitíssimo obrigado pela atenção com este iniciante.

 Atenciosamente,

 Junior

 [As partes desta mensagem que não continham texto foram removidas]

  


-- 
 FAVOR REMOVER ESTA PARTE AO RESPONDER ESTA MENSAGEM 

* Para ver as mensagens antigas, acesse:
http://br.groups.yahoo.com/group/delphi-br/messages

* Para falar com o moderador, envie um e-mail para:
[EMAIL PROTECTED]
 
Links do Yahoo! Grupos

* Para visitar o site do seu grupo na web, acesse:
http://br.groups.yahoo.com/group/delphi-br/

* Para sair deste grupo, envie um e-mail para:
[EMAIL PROTECTED]

* O uso que você faz do Yahoo! Grupos está sujeito aos:
http://br.yahoo.com/info/utos.html

 


Re: [delphi-br] ClientDataSet estourando memória

2007-10-24 Por tôpico Leonardo Quinino
Uso o firebird, e uso STORED PROCEDURE + VIEWS , nem sei se SQLServer tem
esses recursos
bem provável que tenha, procure algo nesse sentido.


Em 24/10/07, Red Mosquito [EMAIL PROTECTED] escreveu:

   Delphi 7 com SQLServer – usando ADO

 Tenho 5 tabelas.

 NF_COMPRA e ITENS_NF_COMPRA,

 NF_VENDA e ITENS_NF_VENDA e

 MOVIMENTO_ESTOQUE

 Objetivo:

 -Ler nf_compra e seus respectivos itens e gerar MOVIMENTO_ESTOQUE
 (entrada)

 -Ler nf_venda e seus respectivos itens e gerar MOVIMENTO_ESTOQUE (saida)

 -Atualizar o saldo diário do produto cf a inserção de registros em Mov.Est
 .

 Cada tabela tem um ClientDataSet, já que são precisos vários campos das
 tabelas

 para serem gravados em MOVIMENTO_ESTOQUE.

 O problema é que cf vou lendo mais registros a memória do windows vai indo
 pro espaço.

 Exemplo:

 -Dou um select em NF_COMPRA (ex: nf 1)

 -em seguida dou um select somente nos produtos desta NF_COMPRA 1

 -para cada registro em ITENS_NF_COMPRA eu gero um registro em
 MOVIMENTO_ESTOQUE

 -dou um close nos CDS's NF_COMPRA e ITENS_NF_COMPRA

 -dou um createDS nesses 2 CDS's

 -dou um open nesses 2 CDS'S

 (o mesmo procedimento faço com Vendas)

 Colocando close+createDS+open a memória aguenta mais tempo.

 Se não colocar dá memória insuficiente rapidinho

 Estou procedendo corretamente ?

 Há alguma forma de liberar o CDS da memória ?

 Sei que deve haver formas mais fáceis, porém este programa eu já peguei
 pronto.

 Obrigado pela atenção

 Junior

 [As partes desta mensagem que não continham texto foram removidas]

 




-- 
Leonardo Quinino


[As partes desta mensagem que não continham texto foram removidas]



-- 
 FAVOR REMOVER ESTA PARTE AO RESPONDER ESTA MENSAGEM 

* Para ver as mensagens antigas, acesse:
http://br.groups.yahoo.com/group/delphi-br/messages

* Para falar com o moderador, envie um e-mail para:
[EMAIL PROTECTED]
 
Links do Yahoo! Grupos

* Para visitar o site do seu grupo na web, acesse:
http://br.groups.yahoo.com/group/delphi-br/

* Para sair deste grupo, envie um e-mail para:
[EMAIL PROTECTED]

* O uso que você faz do Yahoo! Grupos está sujeito aos:
http://br.yahoo.com/info/utos.html

 


Re: [delphi-br] ClientDataSet estourando memória

2007-10-24 Por tôpico MiNuTo
bem eu uso sqlserver naqueles selects cabeludos de 3 ou mais tabelas graudas 
eu uso view e funciona q uma beleza.

como tenho um bom servidor tento amenizar bem as querys com views e SPs e 
trazer o minimo pro cliente.


- Original Message - 
From: Leonardo Quinino [EMAIL PROTECTED]
To: delphi-br@yahoogrupos.com.br
Sent: Wednesday, October 24, 2007 8:25 AM
Subject: Re: [delphi-br] ClientDataSet estourando memória


Uso o firebird, e uso STORED PROCEDURE + VIEWS , nem sei se SQLServer tem
esses recursos
bem provável que tenha, procure algo nesse sentido.


Em 24/10/07, Red Mosquito [EMAIL PROTECTED] escreveu:

   Delphi 7 com SQLServer - usando ADO

 Tenho 5 tabelas.

 NF_COMPRA e ITENS_NF_COMPRA,

 NF_VENDA e ITENS_NF_VENDA e

 MOVIMENTO_ESTOQUE

 Objetivo:

 -Ler nf_compra e seus respectivos itens e gerar MOVIMENTO_ESTOQUE
 (entrada)

 -Ler nf_venda e seus respectivos itens e gerar MOVIMENTO_ESTOQUE (saida)

 -Atualizar o saldo diário do produto cf a inserção de registros em Mov.Est
 .

 Cada tabela tem um ClientDataSet, já que são precisos vários campos das
 tabelas

 para serem gravados em MOVIMENTO_ESTOQUE.

 O problema é que cf vou lendo mais registros a memória do windows vai indo
 pro espaço.

 Exemplo:

 -Dou um select em NF_COMPRA (ex: nf 1)

 -em seguida dou um select somente nos produtos desta NF_COMPRA 1

 -para cada registro em ITENS_NF_COMPRA eu gero um registro em
 MOVIMENTO_ESTOQUE

 -dou um close nos CDS's NF_COMPRA e ITENS_NF_COMPRA

 -dou um createDS nesses 2 CDS's

 -dou um open nesses 2 CDS'S

 (o mesmo procedimento faço com Vendas)

 Colocando close+createDS+open a memória aguenta mais tempo.

 Se não colocar dá memória insuficiente rapidinho

 Estou procedendo corretamente ?

 Há alguma forma de liberar o CDS da memória ?

 Sei que deve haver formas mais fáceis, porém este programa eu já peguei
 pronto.

 Obrigado pela atenção

 Junior

 [As partes desta mensagem que não continham texto foram removidas]






-- 
Leonardo Quinino


[As partes desta mensagem que não continham texto foram removidas]



-- 
 FAVOR REMOVER ESTA PARTE AO RESPONDER ESTA MENSAGEM 

Links do Yahoo! Grupos






Re: [delphi-br] ClientDataset -- DatasetProvider --SqlDataset

2007-09-06 Por tôpico Ruth
Bom dia Luciano.
Vc usa todas as tabelas de uma vez só??

Pq vc pode usar sql dinamico e usar somente 1 conjunto de componente.



  - Original Message - 
  From: Luciano Topolniak 
  To: delphi-br@yahoogrupos.com.br 
  Sent: Wednesday, September 05, 2007 10:38 AM
  Subject: [delphi-br] ClientDataset -- DatasetProvider --SqlDataset


  Olá pessoal, bom dia. Há algum tempo eu uso o trio ClientDataset --
  DatasetProvider --SqlDataset nas minhas aplicações. Todavia, para cada
  tabela no banco eu coloco três novos componentes no datamodule. Gostaria de
  saber se alguém na lista os usa, mas não colocando três componentes para
  cada tabela na base e sim acrescentando apenas um clientdataset e ligando ao
  provider que já está ligado ao sqldataset.

  []'s

  Topolniak. 

  [As partes desta mensagem que não continham texto foram removidas]



   

[As partes desta mensagem que não continham texto foram removidas]



Re: [delphi-br] ClientDataset -- DatasetProvider --SqlDataset

2007-09-05 Por tôpico Edmilson Pontes
Caro Luciano,
Também estava com o mesmo problema. Isso é resovido com o componente
SimpleDataSet que emgloba o trio ClientDataset -- DatasetProvider
--SqlDataset.
Veja o artigo do Guinther Pauli sobre o assunto:
http://www.devmedia.com.br/articles/viewcomp.asp?comp=580

abraços,

Edmilson Pontes


Em 05/09/07, Luciano Topolniak [EMAIL PROTECTED] escreveu:

   Olá pessoal, bom dia. Há algum tempo eu uso o trio ClientDataset --
 DatasetProvider --SqlDataset nas minhas aplicações. Todavia, para cada
 tabela no banco eu coloco três novos componentes no datamodule. Gostaria
 de
 saber se alguém na lista os usa, mas não colocando três componentes para
 cada tabela na base e sim acrescentando apenas um clientdataset e ligando
 ao
 provider que já está ligado ao sqldataset.

 []'s

 Topolniak.

 [As partes desta mensagem que não continham texto foram removidas]

  



[As partes desta mensagem que não continham texto foram removidas]



Re: [delphi-br] ClientDataset -- DatasetProvider --SqlDataset

2007-09-05 Por tôpico Edmilson Pontes
Caro Bruno e demais colegas,
Como fazer? Usar o trio para cada tabela? Não usar ResolveToDataSet? Setar
ProviderFlags no cds no dst?
Como usar applyupdates?
Desculpe tantas perguntas, mas é pq não estou conseguiindo resolver.

abraços,

Edmilson Pontes

Em 05/09/07, Bruno Lichot [EMAIL PROTECTED] escreveu:

   Os ganhos com uso de ClientDataSet são muito superiores, não recomendo o
 uso
 de SimpleDataSet, ale do q pode ser um entrave na evolução da sua
 aplicação,

 Sem falar de recursops de atualização q vc posui e outros de performance,
 controle, tratamento de excessao e reconciliação.

 Na minha opniao, usar SimpleDataSet é um erro.

 Sem falar q DBX agora e um framework e esta totalmente integrado no
 ambiente
 .NET .

 Abs

 BL

 De: delphi-br@yahoogrupos.com.br delphi-br%40yahoogrupos.com.br [mailto:
 delphi-br@yahoogrupos.com.br delphi-br%40yahoogrupos.com.br] Em
 nome de Edmilson Pontes
 Enviada em: quarta-feira, 5 de setembro de 2007 12:26
 Para: delphi-br@yahoogrupos.com.br delphi-br%40yahoogrupos.com.br
 Assunto: Re: [delphi-br] ClientDataset -- DatasetProvider --SqlDataset

 Caro Luciano,
 Também estava com o mesmo problema. Isso é resovido com o componente
 SimpleDataSet que emgloba o trio ClientDataset -- DatasetProvider
 --SqlDataset.
 Veja o artigo do Guinther Pauli sobre o assunto:
 http://www.devmedia.com.br/articles/viewcomp.asp?comp=580

 abraços,

 Edmilson Pontes

 Em 05/09/07, Luciano Topolniak [EMAIL PROTECTED]topolniak%40bol.com.br
 mailto:topolniak% topolniak%2540bol.com.br  escreveu:
 
  Olá pessoal, bom dia. Há algum tempo eu uso o trio ClientDataset --
  DatasetProvider --SqlDataset nas minhas aplicações. Todavia, para cada
  tabela no banco eu coloco três novos componentes no datamodule. Gostaria
  de
  saber se alguém na lista os usa, mas não colocando três componentes para
  cada tabela na base e sim acrescentando apenas um clientdataset e
 ligando
  ao
  provider que já está ligado ao sqldataset.
 
  []'s
 
  Topolniak.



[As partes desta mensagem que não continham texto foram removidas]



Re: [delphi-br] ClientDataSet: ApplyUpdate() com erro

2006-12-05 Por tôpico Fellipe Henrique
Olá Filipe, sem saber o erro fica meio complicado... :-)

mas posso te adiantar que se voce marcou o upWhereKeyOnly no DSP, lá no
ClientDataSet, você marca o campo indice e seta a propriredade InKey,
InWhere, InUpdate. e todos os outros campos, voce só deixa marcado o
InUpdate... isso no UpdateFlags...


[]s


Em 04/12/06, Filipe Belchior [EMAIL PROTECTED] escreveu:

   olá galera,

 seguinte.. estou começando com clientdataset (CDS)..
 estou tendo problema para editar e excluir registros, sim,
 apenas para editar e excluir, pois insere normalmente..
 uso FB 1.5, dialect 3, UIB, CDS, DSP, SQLQuery (com um simples
 select * from tabela).. configurei o UpdateMode e os ProviderFlags,
 upWhereKeyOnly, tudo ok.. não sei o q ocorre.. e pra piorar,
 ou talvez não (posso estar enganado), encontrei isso

 http://qc.borland.com/wc/qcmain.aspx?d=5550

 ..meu delphi eh 7.0.8.1

 




-- 
_
Fellipe Henrique
[EMAIL PROTECTED]


Venham até a borda, ele disse.
Eles disseram: Nós temos medo.
Venham até a borda, ele insistiu.
Eles foram, Ele os empurrou...
E eles voaram.
(Guillaume Apollinaire)


[As partes desta mensagem que não continham texto foram removidas]



Re: [delphi-br] ClientDataSet X MIDAS

2006-07-27 Por tôpico ivo nascimento
nosso colega esta correto e voce pode declarar internamente em seu projeto
também, mas caso voce use a tecnologia do clientdataset em mais de um
aplicativo que estaram na mesma maquina e que talvez rodem
concomitantemente, saiba que se declarar dentro do projeto voce estara
gastando o dobro de memória numa coisa que poderia estar sendo lida
dinamicamente através da dll externa.

Em 27/07/06, Rubem Nascimento da Rocha [EMAIL PROTECTED] escreveu:


 Se vc usa ClientDataSet, independente de usar XML ou não, OBRIGATORIAMENTE

 vc tem que usar MIDAS.DLL. E ClientDataSet pode ser usado em aplicações de

 duas camadas (cliente/servidor clássico), com muitas vantagens em termos
 de
 performance e euxugamento da camada cliente. Na Internet o que mais tem é
 artigo falando do uso de ClientDataSet em aplicações cliente/servidor. É
 só
 procurar. Sds.

 From: Wroger [EMAIL PROTECTED]
 Reply-To: delphi-br@yahoogrupos.com.br

 To: delphi-br@yahoogrupos.com.br
 Subject: [delphi-br] ClientDataSet X MIDAS
 Date: Wed, 26 Jul 2006 12:43:54 -0300

 
 Pessoal, 2 dúvidas bem simples (acho)...
 Prá utilizar ClientDataSet (Para acessar arquivos do Tipo XML) ,eu
 preciso
 do MIDAS.DLL ???
 Como faço em um Ambiente/Servidor que não tem o MIDAS ??
 [ ]'s
 
 
 
 ___
 Novidade no Yahoo! Mail: receba alertas de novas mensagens no seu
 celular.
 Registre seu aparelho agora!
 http://br.mobile.yahoo.com/mailalertas/
 
 

 _
 MSN Messenger: converse com os seus amigos online.
 http://messenger.msn.com.br


 




-- 
Iann
DBA Postgresql, mysql, Firebird
PHP, JAVA, Delphi , ColdFusion programmer
PostgreSQL Brasil http://www.postgresql.org.br
Delphi http://www.delphi.eti.br


[As partes desta mensagem que não continham texto foram removidas]






-- 
 FAVOR REMOVER ESTA PARTE AO RESPONDER ESTA MENSAGEM 

* Para ver as mensagens antigas, acesse:
http://br.groups.yahoo.com/group/delphi-br/messages

* Para falar com o moderador, envie um e-mail para:
[EMAIL PROTECTED]
 
Links do Yahoo! Grupos

* Para visitar o site do seu grupo na web, acesse:
http://br.groups.yahoo.com/group/delphi-br/

* Para sair deste grupo, envie um e-mail para:
[EMAIL PROTECTED]

* O uso que você faz do Yahoo! Grupos está sujeito aos:
http://br.yahoo.com/info/utos.html

 




Re: [delphi-br] CLIENTDATASET - Como atualizar?

2006-07-26 Por tôpico Luis Almeida
Amigos,
   
  Obrigado pela atenção e desculpa a demora, conseguir fazer com as dicas de 
vocês e depois do select onde faço a inclusão dos dados, somente abrir e fechei 
o ClientDataSet e funcionou beleza.
   
  clientDataSet,close;
  clientDataSet,open;
   
  Valeu pelas dicas.

João S. Araújo [EMAIL PROTECTED] escreveu:
  Bom dia pessoal,

imagino eu que a dúvida do Luis Jr. é mesma dúvida minha. Dirferente dele eu 
estou trabalhando com o IBDataSet, e um dataset quando é aberto ele executa 
toda a query e joga os dados para a memória ram, então vamos supor que dois 
usuários abram o mesmo dataset da mesma tabela, o 1º usuário irá somente 
navegar pelos registros, enquanto que o 2º irá fazer modificações. Quando o 
1º  usuário estiver navegando pelo registro nº 9 por exemplo, e o 2º usuário 
fizer modificações no 10º registro, agora vem a pergunta, tem como essas 
modificações feitas pelo 2º usuário serem exibidas para o 1º usuário quando 
ele pedir o próximo registro sem que o 1º usuário tenha que fechar e abir o 
dataset novamente?

Bem acho que era isso... De qualquer forma estou com essa dúvida, se alguém 
puder ajudar, fico grato... imensamente grato...


Obrigado

João

- Original Message - 
From: Walter Alves Chagas Junior [EMAIL PROTECTED]
To: delphi-br@yahoogrupos.com.br
Sent: Monday, July 17, 2006 8:21 AM
Subject: RES: [delphi-br] CLIENTDATASET - Como atualizar?


Voce pode dar um ClientDataset.Refresh, mas o estranho é que ele já faz isto
automáticamente uma vez que o CDS trabalha com  dados na memória e não na
tabela.

[]s

Walter Alves Chagas Junior
Projeto e desenvolvimento de sistemas
Telemont Engenharia de telecomunicações S/A
Belo Horizonte - MG - Brasil
[EMAIL PROTECTED]
Fone: (31) 3389-8215 Fax: (31) 3389-8200

Parabens Telemont - Somos a 8ª maior empresa do Brasil!!


-Mensagem original-
De: delphi-br@yahoogrupos.com.br [mailto:[EMAIL PROTECTED]
nome de Luis Almeida
Enviada em: domingo, 16 de julho de 2006 23:33
Para: Delph-Br Delphi
Assunto: [delphi-br] CLIENTDATASET - Como atualizar?


Amigos,

  Como faço para atualizar um ClientDataSet? Este ClientDataSet carrega um
DBLookupComboBox, onde traz todos os registro de uma determinada tabela, o
qual, gravo em uma outra.
  Porém, quando incluo um novo registro na tabela A e tento visualiza-lo
através do DBLookupCombobox na tabela B, não aparece. Só está atualizando
depois que fecho a aplicação.
  O que devo fazer amigos? Estou usando uma
Query+DataSetProvider+ClientDataSet, em um Data Module


  Valeu e obrigado


Luis Jr

__
Fale com seus amigos  de graça com o novo Yahoo! Messenger
http://br.messenger.yahoo.com/

[As partes desta mensagem que não continham texto foram removidas]



-- 
 FAVOR REMOVER ESTA PARTE AO RESPONDER ESTA MENSAGEM 



Links do Yahoo! Grupos









[As partes desta mensagem que não continham texto foram removidas]



-- 
 FAVOR REMOVER ESTA PARTE AO RESPONDER ESTA MENSAGEM 



Links do Yahoo! Grupos












 


Luis Jr

 __
Fale com seus amigos  de graça com o novo Yahoo! Messenger 
http://br.messenger.yahoo.com/ 

[As partes desta mensagem que não continham texto foram removidas]



-- 
 FAVOR REMOVER ESTA PARTE AO RESPONDER ESTA MENSAGEM 

* Para ver as mensagens antigas, acesse:
http://br.groups.yahoo.com/group/delphi-br/messages

* Para falar com o moderador, envie um e-mail para:
[EMAIL PROTECTED]
 
Links do Yahoo! Grupos

* Para visitar o site do seu grupo na web, acesse:
http://br.groups.yahoo.com/group/delphi-br/

* Para sair deste grupo, envie um e-mail para:
[EMAIL PROTECTED]

* O uso que você faz do Yahoo! Grupos está sujeito aos:
http://br.yahoo.com/info/utos.html

 




Re: [delphi-br] ClientDataSet X MIDAS

2006-07-26 Por tôpico Daniel Bastos
Acho que sim...
até onde eu sei, todas as vezes que vc utilizar um TClientDataSet em uma
aplicação, esta aplicação irá requerer o midas.dll (alguem me corrija se
estiver errado por favor)

para suprimir isso é só vc declarar a unit MidasLib no seu projeto
(preferencialmente no arquivo de projeto mesmo)


Em 26/07/06, Wroger [EMAIL PROTECTED] escreveu:

  Pessoal, 2 dúvidas bem simples (acho)...
 Prá utilizar ClientDataSet (Para acessar arquivos do Tipo XML) ,eu preciso
 do MIDAS.DLL ???
 Como faço em um Ambiente/Servidor que não tem o MIDAS ??
 [ ]'s



 ___
 Novidade no Yahoo! Mail: receba alertas de novas mensagens no seu celular.
 Registre seu aparelho agora!
 http://br.mobile.yahoo.com/mailalertas/


 



[As partes desta mensagem que não continham texto foram removidas]



-- 
 FAVOR REMOVER ESTA PARTE AO RESPONDER ESTA MENSAGEM 

* Para ver as mensagens antigas, acesse:
http://br.groups.yahoo.com/group/delphi-br/messages

* Para falar com o moderador, envie um e-mail para:
[EMAIL PROTECTED]
 
Links do Yahoo! Grupos

* Para visitar o site do seu grupo na web, acesse:
http://br.groups.yahoo.com/group/delphi-br/

* Para sair deste grupo, envie um e-mail para:
[EMAIL PROTECTED]

* O uso que você faz do Yahoo! Grupos está sujeito aos:
http://br.yahoo.com/info/utos.html

 





Re: [delphi-br] ClientDataSet X MIDAS

2006-07-26 Por tôpico Fernando Nomellini
Sem ela não vai funcionar.
Distribua a midas.dll com seu exe. 
Mas até onde eu sei existe um rolyat a ser pago em aplicações comerciais que a 
usam.
Nao me pergunte como.
  - Original Message - 
  From: Wroger 
  To: delphi-br@yahoogrupos.com.br 
  Sent: Wednesday, July 26, 2006 12:43 PM
  Subject: [delphi-br] ClientDataSet X MIDAS


  Pessoal, 2 dúvidas bem simples (acho)...
  Prá utilizar ClientDataSet (Para acessar arquivos do Tipo XML) ,eu preciso
  do MIDAS.DLL ???
  Como faço em um Ambiente/Servidor que não tem o MIDAS ??
  [ ]'s


  
  ___ 
  Novidade no Yahoo! Mail: receba alertas de novas mensagens no seu celular. 
Registre seu aparelho agora! 
  http://br.mobile.yahoo.com/mailalertas/ 


   

[As partes desta mensagem que não continham texto foram removidas]



-- 
 FAVOR REMOVER ESTA PARTE AO RESPONDER ESTA MENSAGEM 

* Para ver as mensagens antigas, acesse:
http://br.groups.yahoo.com/group/delphi-br/messages

* Para falar com o moderador, envie um e-mail para:
[EMAIL PROTECTED]
 
Links do Yahoo! Grupos

* Para visitar o site do seu grupo na web, acesse:
http://br.groups.yahoo.com/group/delphi-br/

* Para sair deste grupo, envie um e-mail para:
[EMAIL PROTECTED]

* O uso que você faz do Yahoo! Grupos está sujeito aos:
http://br.yahoo.com/info/utos.html

 





Re: [delphi-br] ClientDataSet X MIDAS

2006-07-26 Por tôpico Andre Mesquita
É isso aí.
  - Original Message - 
  From: Daniel Bastos 
  To: delphi-br@yahoogrupos.com.br 
  Sent: Wednesday, July 26, 2006 1:22 PM
  Subject: Re: [delphi-br] ClientDataSet X MIDAS


  Acho que sim...
  até onde eu sei, todas as vezes que vc utilizar um TClientDataSet em uma
  aplicação, esta aplicação irá requerer o midas.dll (alguem me corrija se
  estiver errado por favor)

  para suprimir isso é só vc declarar a unit MidasLib no seu projeto
  (preferencialmente no arquivo de projeto mesmo)


  Em 26/07/06, Wroger [EMAIL PROTECTED] escreveu:
  
Pessoal, 2 dúvidas bem simples (acho)...
   Prá utilizar ClientDataSet (Para acessar arquivos do Tipo XML) ,eu preciso
   do MIDAS.DLL ???
   Como faço em um Ambiente/Servidor que não tem o MIDAS ??
   [ ]'s
  
  
  
   ___
   Novidade no Yahoo! Mail: receba alertas de novas mensagens no seu celular.
   Registre seu aparelho agora!
   http://br.mobile.yahoo.com/mailalertas/
  
  
   
  


  [As partes desta mensagem que não continham texto foram removidas]

   

[As partes desta mensagem que não continham texto foram removidas]



-- 
 FAVOR REMOVER ESTA PARTE AO RESPONDER ESTA MENSAGEM 

* Para ver as mensagens antigas, acesse:
http://br.groups.yahoo.com/group/delphi-br/messages

* Para falar com o moderador, envie um e-mail para:
[EMAIL PROTECTED]
 
Links do Yahoo! Grupos

* Para visitar o site do seu grupo na web, acesse:
http://br.groups.yahoo.com/group/delphi-br/

* Para sair deste grupo, envie um e-mail para:
[EMAIL PROTECTED]

* O uso que você faz do Yahoo! Grupos está sujeito aos:
http://br.yahoo.com/info/utos.html

 





RE: [delphi-br] ClientDataSet X MIDAS

2006-07-26 Por tôpico Rubem Nascimento da Rocha

Se vc usa ClientDataSet, independente de usar XML ou não, OBRIGATORIAMENTE 
vc tem que usar MIDAS.DLL. E ClientDataSet pode ser usado em aplicações de 
duas camadas (cliente/servidor clássico), com muitas vantagens em termos de 
performance e euxugamento da camada cliente. Na Internet o que mais tem é 
artigo falando do uso de ClientDataSet em aplicações cliente/servidor. É só 
procurar. Sds.

From: Wroger [EMAIL PROTECTED]
Reply-To: delphi-br@yahoogrupos.com.br
To: delphi-br@yahoogrupos.com.br
Subject: [delphi-br] ClientDataSet X MIDAS
Date: Wed, 26 Jul 2006 12:43:54 -0300

Pessoal, 2 dúvidas bem simples (acho)...
Prá utilizar ClientDataSet (Para acessar arquivos do Tipo XML) ,eu preciso
do MIDAS.DLL ???
Como faço em um Ambiente/Servidor que não tem o MIDAS ??
[ ]'s



___
Novidade no Yahoo! Mail: receba alertas de novas mensagens no seu celular. 
Registre seu aparelho agora!
http://br.mobile.yahoo.com/mailalertas/



_
MSN Messenger: converse com os seus amigos online. 
http://messenger.msn.com.br



-- 
 FAVOR REMOVER ESTA PARTE AO RESPONDER ESTA MENSAGEM 

* Para ver as mensagens antigas, acesse:
http://br.groups.yahoo.com/group/delphi-br/messages

* Para falar com o moderador, envie um e-mail para:
[EMAIL PROTECTED]
 
Links do Yahoo! Grupos

* Para visitar o site do seu grupo na web, acesse:
http://br.groups.yahoo.com/group/delphi-br/

* Para sair deste grupo, envie um e-mail para:
[EMAIL PROTECTED]

* O uso que você faz do Yahoo! Grupos está sujeito aos:
http://br.yahoo.com/info/utos.html

 




Re: [delphi-br] CLIENTDATASET - Como atualizar?

2006-07-17 Por tôpico João S . Araújo
Bom dia pessoal,

imagino eu que a dúvida do Luis Jr. é mesma dúvida minha. Dirferente dele eu 
estou trabalhando com o IBDataSet, e um dataset quando é aberto ele executa 
toda a query e joga os dados para a memória ram, então vamos supor que dois 
usuários abram o mesmo dataset da mesma tabela, o 1º usuário irá somente 
navegar pelos registros, enquanto que o 2º irá fazer modificações. Quando o 
1º  usuário estiver navegando pelo registro nº 9 por exemplo, e o 2º usuário 
fizer modificações no 10º registro, agora vem a pergunta, tem como essas 
modificações feitas pelo 2º usuário serem exibidas para o 1º usuário quando 
ele pedir o próximo registro sem que o 1º usuário tenha que fechar e abir o 
dataset novamente?

Bem acho que era isso... De qualquer forma estou com essa dúvida, se alguém 
puder ajudar, fico grato... imensamente grato...


Obrigado

João

- Original Message - 
From: Walter Alves Chagas Junior [EMAIL PROTECTED]
To: delphi-br@yahoogrupos.com.br
Sent: Monday, July 17, 2006 8:21 AM
Subject: RES: [delphi-br] CLIENTDATASET - Como atualizar?


Voce pode dar um ClientDataset.Refresh, mas o estranho é que ele já faz isto
automáticamente uma vez que o CDS trabalha com  dados na memória e não na
tabela.

[]s

Walter Alves Chagas Junior
Projeto e desenvolvimento de sistemas
Telemont Engenharia de telecomunicações S/A
Belo Horizonte - MG - Brasil
[EMAIL PROTECTED]
Fone: (31) 3389-8215 Fax: (31) 3389-8200

Parabens Telemont - Somos a 8ª maior empresa do Brasil!!


-Mensagem original-
De: delphi-br@yahoogrupos.com.br [mailto:[EMAIL PROTECTED]
nome de Luis Almeida
Enviada em: domingo, 16 de julho de 2006 23:33
Para: Delph-Br Delphi
Assunto: [delphi-br] CLIENTDATASET - Como atualizar?


Amigos,

  Como faço para atualizar um ClientDataSet? Este ClientDataSet carrega um
DBLookupComboBox, onde traz todos os registro de uma determinada tabela, o
qual, gravo em uma outra.
  Porém, quando incluo um novo registro na tabela A e tento visualiza-lo
através do DBLookupCombobox na tabela B, não aparece. Só está atualizando
depois que fecho a aplicação.
  O que devo fazer amigos? Estou usando uma
Query+DataSetProvider+ClientDataSet, em um Data Module


  Valeu e obrigado


Luis Jr

 __
Fale com seus amigos  de graça com o novo Yahoo! Messenger
http://br.messenger.yahoo.com/

[As partes desta mensagem que não continham texto foram removidas]



-- 
 FAVOR REMOVER ESTA PARTE AO RESPONDER ESTA MENSAGEM 



Links do Yahoo! Grupos









[As partes desta mensagem que não continham texto foram removidas]



-- 
 FAVOR REMOVER ESTA PARTE AO RESPONDER ESTA MENSAGEM 



Links do Yahoo! Grupos














-- 
 FAVOR REMOVER ESTA PARTE AO RESPONDER ESTA MENSAGEM 

* Para ver as mensagens antigas, acesse:
http://br.groups.yahoo.com/group/delphi-br/messages

* Para falar com o moderador, envie um e-mail para:
[EMAIL PROTECTED]
 
Links do Yahoo! Grupos

* Para visitar o site do seu grupo na web, acesse:
http://br.groups.yahoo.com/group/delphi-br/

* Para sair deste grupo, envie um e-mail para:
[EMAIL PROTECTED]

* O uso que você faz do Yahoo! Grupos está sujeito aos:
http://br.yahoo.com/info/utos.html

 




Re: [delphi-br] ClientDataSet com Join!!

2006-01-13 Por tôpico Luis Lopes
No evento OnGetTableName, do provider, coloque:

TableName := TAB_CONVENIO_PESSOA

Na propriedade ProviderFlags, do TField associado à
coluna NOM_CONVENIO, coloque tudo igual a False.

Espero não ter esquecido de nada... mas eh por ae.

[]´s

--- Rodrigo de Moura [EMAIL PROTECTED]
escreveu:

 Boa Tarde Pessoal,
 
 Estou com o seguinte problema:
 tenho uma grade ligada ao quarteto TSQLQuery -
 ClientDataSet - Provider - DataSource.
 Tenho um select que faz um join com outra tabela
 para trazer o nome da
 chave estrangeira referida. Mas quando tento gravar
 pela grade me dá um erro dizendo que
 a coluna 'NOM_CONVENIO' não pertence a tabela
 referenciada.
 Explicando como fiz a tela:
 Tenho um edit onde retorno o nome do cliente e no
 exit desse edit abro o ClientDataSet da grade
 passando o código do cliente como parâmetro, o
 select da grade é o mostrado abaixo:
 
 SELECT TCP.COD_PESSOA,
TCP.COD_CONVENIO,
TCP.NUM_CONVENIO,
TCP.DTA_VLD_CONVENIO,
TC.NOM_CONVENIO
   FROM TAB_CONVENIO_PESSOA TCP
INNER JOIN
  TAB_CONVENIO TC
ON TCP.COD_CONVENIO = TC.COD_CONVENIO
INNER JOIN
  TAB_PESSOA TP
ON TCP.COD_PESSOA = TP.COD_PESSOA
 WHERE TCP.COD_PESSOA = :COD_PESSOA
 
 Na grade eu tenho as seguinte colunas: nome do
 convênio (NOM_CONVENIO), nº do cartão (NUM_CONVENIO)
 e validade do convênio (DTA_VLD_CONVENIO).
 Na coluna NOM_CONVENIO busco o nome do convênio para
 apresentar na grade e preencho os outros dados
 na grade mesmo. Quando dou seta para baixo, no
 evento onKeyDown para salvar o registro me dá a
 mensagem:
 Column 'NOM_CONVENIO' not belongs to referenceed
 table. Utilizo as linhas de código abaixo no
 OnKeyDown:
 
 if(Key = vk_down) then
 begin
 if(cdsConvenio.ApplyUpdates(0)  0) then
cdsConvenio.CancelUpdates;
 end;
 
 A tabela em questão que a mensagem se refere é a
 TAB_CONVENIO_PESSOA que é a tabela de ligação entre
 a TAB_PESSOA (cliente) e a TAB_CONVENIO, onde os
 registros devem ser inseridos.
 Senhores como resolvo essa questão, pois não quero
 usar campo lookup?
 Já ouvi falar dos Providers Flags, mas nunca fiz
 nada desse tipo, portanto estou meio perdido.
 Qualquer ajuda será bem vinda, inclusive links de
 artigos sobre o assunto!!
 Muito obrigado.
 
 Atenciosamente,
 
 Rodrigo de Moura
 
 [As partes desta mensagem que não continham texto
 foram removidas]
 
 
 
 -- 
  FAVOR REMOVER ESTA PARTE AO RESPONDER ESTA
 MENSAGEM 
 
 http://br.groups.yahoo.com/group/delphi-br/messages
 
 [EMAIL PROTECTED]
  
 Links do Yahoo! Grupos
 
 
 
 http://br.yahoo.com/info/utos.html
 
  
 
 
 


  Luis Alberto
  Belo Horizonte - MG










___ 
Yahoo! doce lar. Faça do Yahoo! sua homepage. 
http://br.yahoo.com/homepageset.html 



-- 
 FAVOR REMOVER ESTA PARTE AO RESPONDER ESTA MENSAGEM 

* Para ver as mensagens antigas, acesse:
http://br.groups.yahoo.com/group/delphi-br/messages

* Para falar com o moderador, envie um e-mail para:
[EMAIL PROTECTED]
 
Links do Yahoo! Grupos

* Para visitar o site do seu grupo na web, acesse:
http://br.groups.yahoo.com/group/delphi-br/

* Para sair deste grupo, envie um e-mail para:
[EMAIL PROTECTED]

* O uso que você faz do Yahoo! Grupos está sujeito aos:
http://br.yahoo.com/info/utos.html

 




Re: [delphi-br] ClientDataSet - Nao posso ter campos com mais de 30 caracteres em seus nomes

2005-11-29 Por tôpico Bruno Lichot - Micrologos
eu ja tive este problea e so solucionei qdo limitei o nome de meus campos a
30 caracteres..
[]´s
Bruno Lichot
Micrologos Dream Team
Equipe Editorial ClubeDelphi DevMedia

[EMAIL PROTECTED]
[EMAIL PROTECTED]

www.micrologos.com.br - www.clubedelphi.net -
www.delphirio.assespro-rj.org.br

- Original Message - 
From: Paulo [EMAIL PROTECTED]
To: delphi-br@yahoogrupos.com.br
Sent: Tuesday, November 29, 2005 5:19 PM
Subject: [delphi-br] ClientDataSet - Nao posso ter campos com mais de 30
caracteres em seus nomes


Pessoal:

Pergunta resumida:

O ClientDataSet nao consegue ler corretamente
nomes de campos que possuam mais de 30 caracteres ?
(quando eu tento criar um campo persistente a partir
de um campo que possui nome com mais de 30 caracteres,
o ClientDataSet trunca para 30 caracteres, e depois
ocorre erro em tempo de execucao, pois no ApplyUpdates
o nome de campo truncado nao e' encontrado no servidor

Caso seja necessario para entenderem melhor minha
dificuldade, seguem maiores detalhes no final deste
e-mail

Grato pela atencao de todos
Paulo

a) Uso o Delphi 7 com DBExpress e InterBase 6
b) Estou com o seguinte problema:  Tenho alguns campos
que possuem mais de 30 caracteres em seus nomes.
Por exemplo, o nome do campo abaixo tem 31 caracteres:

DATINICIOPROCESSAMENTO_PREVISTO

c) Quando eu executo um clique-duplo em um ClientDataSet
que esta' fazendo acesso `a tabela que possui esse campo
(atraves de um SQLDataSet e DataSetProvider), o campo
e' criado no ClientDataSet (ou seja, o campo persistente),
a propriedade FieldName desse campo persistente
trunca o ultimo caractere do nome do campo. Assim:

DATINICIOPROCESSAMENTO_PREVIST

d) Ao rodar o programa, o ClientDataSet abre normalmente...
Mas quando eu tento gravar um registro, aparece mensagem
dizendo que a coluna DATINICIOPROCESSAMENTO_PREVIST
e' desconhecida (porque seu nome na tabela contem um caractere
a mais - a letra O).

e) Tentei mudar por conta propria a propriedade FieldName para  os 31
caracteres,
mas neste caso quando tento abrir o ClientDataSet (ainda em tempo de
projeto),
aparece mensagem que o campo DATINICIOPROCESSAMENTO_PREVISTO
nao foi encontrado (em tempo de execucao aparece tambem um erro).

Pergunta:

Ha' alguma solucao para resolver este problema, ou terei de alterar
os nomes dos campos na estrutura do BD, para que tenham no maximo 30
caracteres ?


[As partes desta mensagem que não continham texto foram removidas]



-- 
 FAVOR REMOVER ESTA PARTE AO RESPONDER ESTA MENSAGEM 



Links do Yahoo! Grupos











-- 
 FAVOR REMOVER ESTA PARTE AO RESPONDER ESTA MENSAGEM 

* Para ver as mensagens antigas, acesse:
http://br.groups.yahoo.com/group/delphi-br/messages

* Para falar com o moderador, envie um e-mail para:
[EMAIL PROTECTED]
 
Links do Yahoo! Grupos

* Para visitar o site do seu grupo na web, acesse:
http://br.groups.yahoo.com/group/delphi-br/

* Para sair deste grupo, envie um e-mail para:
[EMAIL PROTECTED]

* O uso que você faz do Yahoo! Grupos está sujeito aos:
http://br.yahoo.com/info/utos.html

 




Re: [delphi-br] ClientDataSet - Nao posso ter campos com mais de 30 caracteres em seus nomes

2005-11-29 Por tôpico Danilo Rogério
Realmente... talvez nem seja um Bug do DBExpress, e sim uma adaptação de 
mercado, visto que alguns SGDB não aceitam objetos com mais de 30 caracteres
   
  O melhor mesmo é reduzir o nome do campo

Bruno Lichot - Micrologos [EMAIL PROTECTED] escreveu:
  eu ja tive este problea e so solucionei qdo limitei o nome de meus campos a
30 caracteres..
[]´s
Bruno Lichot
Micrologos Dream Team
Equipe Editorial ClubeDelphi DevMedia

[EMAIL PROTECTED]
[EMAIL PROTECTED]

www.micrologos.com.br - www.clubedelphi.net -
www.delphirio.assespro-rj.org.br

- Original Message - 
From: Paulo [EMAIL PROTECTED]
To: delphi-br@yahoogrupos.com.br
Sent: Tuesday, November 29, 2005 5:19 PM
Subject: [delphi-br] ClientDataSet - Nao posso ter campos com mais de 30
caracteres em seus nomes


Pessoal:

Pergunta resumida:

O ClientDataSet nao consegue ler corretamente
nomes de campos que possuam mais de 30 caracteres ?
(quando eu tento criar um campo persistente a partir
de um campo que possui nome com mais de 30 caracteres,
o ClientDataSet trunca para 30 caracteres, e depois
ocorre erro em tempo de execucao, pois no ApplyUpdates
o nome de campo truncado nao e' encontrado no servidor

Caso seja necessario para entenderem melhor minha
dificuldade, seguem maiores detalhes no final deste
e-mail

Grato pela atencao de todos
Paulo

a) Uso o Delphi 7 com DBExpress e InterBase 6
b) Estou com o seguinte problema:  Tenho alguns campos
que possuem mais de 30 caracteres em seus nomes.
Por exemplo, o nome do campo abaixo tem 31 caracteres:

DATINICIOPROCESSAMENTO_PREVISTO

c) Quando eu executo um clique-duplo em um ClientDataSet
que esta' fazendo acesso `a tabela que possui esse campo
(atraves de um SQLDataSet e DataSetProvider), o campo
e' criado no ClientDataSet (ou seja, o campo persistente),
a propriedade FieldName desse campo persistente
trunca o ultimo caractere do nome do campo. Assim:

DATINICIOPROCESSAMENTO_PREVIST

d) Ao rodar o programa, o ClientDataSet abre normalmente...
Mas quando eu tento gravar um registro, aparece mensagem
dizendo que a coluna DATINICIOPROCESSAMENTO_PREVIST
e' desconhecida (porque seu nome na tabela contem um caractere
a mais - a letra O).

e) Tentei mudar por conta propria a propriedade FieldName para  os 31
caracteres,
mas neste caso quando tento abrir o ClientDataSet (ainda em tempo de
projeto),
aparece mensagem que o campo DATINICIOPROCESSAMENTO_PREVISTO
nao foi encontrado (em tempo de execucao aparece tambem um erro).

Pergunta:

Ha' alguma solucao para resolver este problema, ou terei de alterar
os nomes dos campos na estrutura do BD, para que tenham no maximo 30
caracteres ?


[As partes desta mensagem que não continham texto foram removidas]



-- 
 FAVOR REMOVER ESTA PARTE AO RESPONDER ESTA MENSAGEM 



Links do Yahoo! Grupos











-- 
 FAVOR REMOVER ESTA PARTE AO RESPONDER ESTA MENSAGEM 





Yahoo! Grupos, um serviço oferecido por:PUBLICIDADE
var lrec_target=_blank;var lrec_URL=new Array();  
lrec_URL[1]=http://br.rd.yahoo.com/SIG=12f6jli2p/M=365837.7000707.7924794.2369893/D=brclubs/S=2137111264:HM/Y=BR/EXP=1133301204/A=2950750/R=0/id=flashurl/SIG=10tift5qr/*http://br.movies.yahoo.com/;;
  var 
lrec_flashfile=http://br.i1.yimg.com/br.yimg.com/i/br/ads6/0901_lrec_cinema_calendario.swf?clickTAG=javascript:LRECopenWindow(1);
  var 
lrec_altURL=http://br.rd.yahoo.com/SIG=12f6jli2p/M=365837.7000707.7924794.2369893/D=brclubs/S=2137111264:HM/Y=BR/EXP=1133301204/A=2950750/R=1/id=altimg/SIG=10tift5qr/*http://br.movies.yahoo.com/;;
  var 
lrec_altimg=http://br.i1.yimg.com/br.yimg.com/i/br/ads6/0829_lrec_cinema_calendario.gif;;
  var lrec_width=300;var lrec_height=250;  
  
-
  Links do Yahoo! Grupos

   Para visitar o site do seu grupo na web, acesse:
http://br.groups.yahoo.com/group/delphi-br/

   Para sair deste grupo, envie um e-mail para:
[EMAIL PROTECTED]

   O uso que você faz do Yahoo! Grupos está sujeito aos Termos do Serviço do 
Yahoo!. 

  



-
 Yahoo! doce lar. Faça do Yahoo! sua homepage.

[As partes desta mensagem que não continham texto foram removidas]



-- 
 FAVOR REMOVER ESTA PARTE AO RESPONDER ESTA MENSAGEM 

* Para ver as mensagens antigas, acesse:
http://br.groups.yahoo.com/group/delphi-br/messages

* Para falar com o moderador, envie um e-mail para:
[EMAIL PROTECTED]
 
Links do Yahoo! Grupos

* Para visitar o site do seu grupo na web, acesse:
http://br.groups.yahoo.com/group/delphi-br/

* Para sair deste grupo, envie um e-mail para:
[EMAIL PROTECTED]

* O uso que você faz do Yahoo! Grupos está sujeito aos:
http://br.yahoo.com/info/utos.html

 




Re: [delphi-br] ClientDataSet - Como trazer novamente um registro doservidor, no OnReconcileError

2005-11-21 Por tôpico Paulo
Clériston:

Não sei se vai resolver o seu caso, mais eu faço assim
 if cds_padrao.ApplyUpdates(0)  0 then
 cds_padrao.UndoLastChange(true);

Agradeco muito sua atencao.

Testei sua idéia, mas dessa forma o usuário fica com o registro
na tela no estado em que ele estava antes de comeca a fazer
sua alteracao.   Mas o que eu gostaria de fazer era
trazer novamente o registro que esta' no servidor,
para que o usuario que recebeu o erro pudesse ver
o registro como ele se encontra atualmente no
servidor (ja' com as modificacoes feitas pelo outro usuario).

Se alguem tiver mais alguma ideia, agradeco muito
se enviar.

Paulo



-- 
 FAVOR REMOVER ESTA PARTE AO RESPONDER ESTA MENSAGEM 

* Para ver as mensagens antigas, acesse:
http://br.groups.yahoo.com/group/delphi-br/messages

* Para falar com o moderador, envie um e-mail para:
[EMAIL PROTECTED]
 
Links do Yahoo! Grupos

* Para visitar o site do seu grupo na web, acesse:
http://br.groups.yahoo.com/group/delphi-br/

* Para sair deste grupo, envie um e-mail para:
[EMAIL PROTECTED]

* O uso que você faz do Yahoo! Grupos está sujeito aos:
http://br.yahoo.com/info/utos.html

 




  1   2   >