DataSetProvider - SQL
Olá....
Alguem sabe como capturar o código sql gerado pelo DataSetProvider quando é dado um ApplyUpdates?
Preciso saber qual a string UPDATE, INSERT que o DataSetProvider gera para fazer a gravação no Bando de Dados.
Agradecido,
Fabison
Alguem sabe como capturar o código sql gerado pelo DataSetProvider quando é dado um ApplyUpdates?
Preciso saber qual a string UPDATE, INSERT que o DataSetProvider gera para fazer a gravação no Bando de Dados.
Agradecido,
Fabison
Fabilson
Curtidas 0
Respostas
Macario
27/03/2006
Olá,
estou com a mesma necessidade.
Alguem sabe como acessar??
Grato. :roll:
estou com a mesma necessidade.
Alguem sabe como acessar??
Grato. :roll:
GOSTEI 0
Brunolspp
27/03/2006
no meu primeiro exemplo do link de downloads.
Tem uma aplicação somente sobre recursos do ClientDataSet, DataSetProvider e DBExpress4 que mostra como pegar através do SQLMonitor os comandos gerados e muita outras coisas interessantes.
http://cc.codegear.com/author/795118
Na próxima edição da revista Active Delphi vou iniciar uma série de 3 matérias sobre recursos e segredo do clientdataset para aplicar no nosso dia a dia do desenvolvimento. Baseado neste exemplo que falei, que também foi a mesma base da minha palestra no BorCon 2007.
No http://dn.codegear.com/br na seção do Delphi Day OnLine, tem uma video aula gratuita minha sobre DBExpress 4 mostrando com fazer trace na prática de comandos SQL e na verdade qualquer comando entre a aplicação e o banco de dados utilizando DBExpress 4.
Tem uma aplicação somente sobre recursos do ClientDataSet, DataSetProvider e DBExpress4 que mostra como pegar através do SQLMonitor os comandos gerados e muita outras coisas interessantes.
http://cc.codegear.com/author/795118
Na próxima edição da revista Active Delphi vou iniciar uma série de 3 matérias sobre recursos e segredo do clientdataset para aplicar no nosso dia a dia do desenvolvimento. Baseado neste exemplo que falei, que também foi a mesma base da minha palestra no BorCon 2007.
No http://dn.codegear.com/br na seção do Delphi Day OnLine, tem uma video aula gratuita minha sobre DBExpress 4 mostrando com fazer trace na prática de comandos SQL e na verdade qualquer comando entre a aplicação e o banco de dados utilizando DBExpress 4.
GOSTEI 0
Macario
27/03/2006
Olá Bruno, boa tarde.
Agradeço a sua atenção.
Esqueci de citar que uso ADO (o padrao aqui é dbExpress), por este fato não posso utilizar o SQLMonitor.
A chamada inicial para a montagem do ´SQL gerado´ é a procedure
TSQLResolver.InternalDoUpdate da Unit Provider.
Estou com problemas na instrução de Insert.
So esta incluindo um unico campo na instrução.
Ate o momento nao encontrei o motivo do erro.
Os providerflags estão Ok.
É a primeira vez que faço uso em conjunto:
ADODataset + DSP+CDS+DTS
To aqui na tentativa e erro.
Qualquer dica eu aceito.
8)
Agradeço a sua atenção.
Esqueci de citar que uso ADO (o padrao aqui é dbExpress), por este fato não posso utilizar o SQLMonitor.
A chamada inicial para a montagem do ´SQL gerado´ é a procedure
TSQLResolver.InternalDoUpdate da Unit Provider.
Estou com problemas na instrução de Insert.
So esta incluindo um unico campo na instrução.
Ate o momento nao encontrei o motivo do erro.
Os providerflags estão Ok.
É a primeira vez que faço uso em conjunto:
ADODataset + DSP+CDS+DTS
To aqui na tentativa e erro.
Qualquer dica eu aceito.
8)
GOSTEI 0
Brunolspp
27/03/2006
Posta a estrutura da tabela a ser usada para inserção.
Um dos modelos ideais seria adicionar os campos no adodataset, definir atraves do providerflags quem é o campo chave e colocar no updatemode do datasetprovider upwherekeyonly.
Na hora da inclusão, existe algum erro? Alguma mensagem?
No mesmo link que passei tem exemplos de uso de DataSnap com ADO.
Um dos modelos ideais seria adicionar os campos no adodataset, definir atraves do providerflags quem é o campo chave e colocar no updatemode do datasetprovider upwherekeyonly.
Na hora da inclusão, existe algum erro? Alguma mensagem?
No mesmo link que passei tem exemplos de uso de DataSnap com ADO.
GOSTEI 0
Macario
27/03/2006
Posta a estrutura da tabela a ser usada para inserção.
Um dos modelos ideais seria adicionar os campos no adodataset, definir atraves do providerflags quem é o campo chave e colocar no updatemode do datasetprovider upwherekeyonly.
Na hora da inclusão, existe algum erro? Alguma mensagem?
No mesmo link que passei tem exemplos de uso de DataSnap com ADO.
Esta é a instrução do ADODataset
select a.nr_dupli, a.nr_parc, a.nr_seq, a.dt_ocorr, a.dt_digit, a.cd_tpmovdupl, a.ds_obs, a.vl_ocorr, a.cd_banco, a.nr_procmult, a.cd_usuario, a.cd_banco_deposito, a.cd_tipo_pagto, a.fl_anulado, a.fl_pendente, a.fl_cobreletr, a.cd_usuario_liberacao, C.DS_TPMOVDUPL, D.DS_TIPO_PAGTO, E.DS_BANCO, isNull(F.DS_BANCO,´Caixa´) as BANCO_DEPOSITO from DUPLI_OCORR A inner join TP_MOVDUPL C on (A.CD_TPMOVDUPL = C.CD_TPMOVDUPL) left join TIPO_PAGTO D on (A.CD_TIPO_PAGTO = D.CD_TIPO_PAGTO) left join BANCO E on (A.CD_BANCO = E.CD_BANCO) left join BANCO F on (A.CD_BANCO_DEPOSITO = F.CD_BANCO) where A.NR_DUPLI = 42968 and A.NR_PARC = 1 order by A.NR_SEQ
Os campos estão adicionados tanto no ADODataset quanto no CDS, os campos chaves são: NR_DUPLI E NR_PARC com [pfinfUpdate,pfInfWhere, pfInfKey]
os demais campos com ALIAS A. estão apenas com [pfInfUpdate]
e os demais com [pfinfUpdate,pfInfWhere, pfInfKey] = false.
O DSP esta com upwherekeyonly.
a procedure
[b:1e054c0526]procedure TSQLResolver.GenInsertSQL(Tree: TUpdateTree; SQL: TStrings;
Params: TParams);[/b:1e054c0526]
monta a instrução de insert apenas com o campo [b:1e054c0526]cd_tpmovdupl[/b:1e054c0526]
Ainda nao consegui identificar onde esta o erro.
Sigo a procura :roll:
GOSTEI 0
Brunolspp
27/03/2006
Acredito que como você está trabalhando com JOIN, será preciso apontar no before update record as informações de tabela, ou rever as configurações dos providerflags, pois através deles já deveria star resolvendo o seu problema.
Está realmente me parecendo problema de configuração.
Está realmente me parecendo problema de configuração.
GOSTEI 0
Macario
27/03/2006
Ta cruel, pois em outros jogos = (ADODataset+DSP+CDS+DTS),
ta funcionando.
Ja revi toda a config. e ate agora nada.
Vou apelar e remover todas referencias e incluir um novo jogo.
:roll:
ta funcionando.
Ja revi toda a config. e ate agora nada.
Vou apelar e remover todas referencias e incluir um novo jogo.
:roll:
GOSTEI 0