Bem... ainda não (risos)

Olha, o que eu tenho é o seguinte:

1- Como salvar no banco (eu gero o sql)
2- Como recuperar o valor do generator (eu tenho uma function que retorna 
pra mim)


O que eu não tenho:

Como gravar este valor do generator no CDS sem alterar o seu status 
anterior....



Francisco Thiago de Almeida
Enter & Plug Informática
Divisão: Desenvolvimento e Banco de dados
Franca / SP
msn: [EMAIL PROTECTED]

----- Original Message ----- 
From: "jrjuniore" <[EMAIL PROTECTED]>
To: <delphi-br@yahoogrupos.com.br>
Sent: Thursday, September 01, 2005 2:44 PM
Subject: RES: [delphi-br] Tem como alterar VALORES do DataSet SEM ALTERAR O 
SEU ESTADO???


Bom, se eu entendi, há duas formas:

1) faz um select max da sua chave primária e acrescenta + 1;
2) Se a sua chave primária estiver sendo alimentada por um generator então
vc faz o select do generator.


Será que eu entendi o q vc quer ???


-----Mensagem original-----
De: delphi-br@yahoogrupos.com.br [mailto:[EMAIL PROTECTED] Em
nome de Francisco Thiago
Enviada em: quinta-feira, 1 de setembro de 2005 13:15
Para: delphi-br@yahoogrupos.com.br
Assunto: Re: [delphi-br] Tem como alterar VALORES do DataSet SEM ALTERAR O
SEU ESTADO???

Obrigado pela ajuda, mas acho que você não entendeu a pergunta.

Eu já sei como executar o SQL gerado. A questão é que essa procedure minha
que gera o SQL recebe um TClientDataSet e de acordo com a propriedade
UpdateStatus dos registros (usUnModified,usModified,usInserted,UsDeleted)
ela gera um SQL com base nos Dados no TClientDataSet passado como parametro.

Só que neste momento ele ainda não tem o valor da chave!!!

E eu não posso editar este DataSet, pq ele geraria um Update no registro que
acabei de gerar.. Até que isso não seria tanto problema... a questão é que
quando ele executasse o Insert, daria erro de chave primaria....

Então a questão é:

Como modifica um valor no ClientDataSet, sem modificar o seu estado???



Obrigado novamente


Francisco Thiago de Almeida
Enter & Plug Informática
Divisão: Desenvolvimento e Banco de dados Franca / SP
msn: [EMAIL PROTECTED]


----- Original Message -----
From: "jrjuniore" <[EMAIL PROTECTED]>
To: <delphi-br@yahoogrupos.com.br>
Sent: Thursday, September 01, 2005 12:41 PM
Subject: RES: [delphi-br] Tem como alterar VALORES do DataSet SEM ALTERAR O
SEU ESTADO???


Escrever a query de alteração dentro do componente Tquery e executar o
ExecSQL
   ou
Escrever a query de alteração dentro do componente TIbquery e executar o
ExecQuery

e depois de executar uma das duas opções dar o transaction.commit ou
commitRetaining


-----Mensagem original-----
De: delphi-br@yahoogrupos.com.br [mailto:[EMAIL PROTECTED] Em
nome de Francisco Thiago Enviada em: quinta-feira, 1 de setembro de 2005
12:12
Para: delphi-br@yahoogrupos.com.br
Assunto: [delphi-br] Tem como alterar VALORES do DataSet SEM ALTERAR O SEU
ESTADO???
Prioridade: Alta

Caros amigos,

Tenho uma procedure que recebe um TClientDataSet como parâmetro e de acordo
com as modificações nele, ela gera um SQL (Insert/Update/Delete). Uso isso
quando um simples ApplyUpdates não basta para salvar os dados.

Só que tenho um problema: Este DataSet não esta com a chave primária
informada ainda (pq esta valor é gerado no servidor de aplicações), e eu
precisava, de alguma forma, atribuir o valor da chave.
Tudo bem, eu poderia dar um Edit, gravar o valor e dar um Post. Correto?
Não.

O CDS guarda as modificações feitas no registro em cache... Então ele
guardaria o seguinte:

Inserção do Registro 'A'
Edicao do Registro 'A'

E o meu SQL viria desta forma também... Só que quando eu executar este SQL,
ele PODERÁ dar um erro de chave primária no insert, apesar do Edit.

Então eu pergunto a vocês: O que eu poderia fazer para modifica um registro,
sem alterar o seu estado (Editado/Inserido/Deletado)????


Obrigado


Francisco Thiago de Almeida
Enter & Plug Informática
Divisão: Desenvolvimento e Banco de dados Franca / SP
msn: [EMAIL PROTECTED]






_______________________________________________________
Yahoo! Acesso Grátis - Internet rápida e grátis.
Instale o discador agora! http://br.acesso.yahoo.com/


--
<<<<< 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] ou [EMAIL PROTECTED]

Links do Yahoo! Grupos












_______________________________________________________
Yahoo! Acesso Grátis - Internet rápida e grátis.
Instale o discador agora! http://br.acesso.yahoo.com/


--
<<<<< 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] ou [EMAIL PROTECTED]

Links do Yahoo! Grupos











_______________________________________________________
Yahoo! Acesso Grátis - Internet rápida e grátis.
Instale o discador agora! http://br.acesso.yahoo.com/


-- 
<<<<< 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] ou [EMAIL PROTECTED]

Links do Yahoo! Grupos











_______________________________________________________
Yahoo! Messenger com voz: PROMOÇÃO VOCÊ PODE LEVAR UMA VIAGEM NA CONVERSA. 
Participe! www.yahoo.com.br/messenger/promocao


-- 
<<<<< 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] ou [EMAIL PROTECTED]

Links do Yahoo! Grupos








        
        
                
_______________________________________________________ 
Yahoo! Messenger com voz: PROMOÇÃO VOCÊ PODE LEVAR UMA VIAGEM NA CONVERSA. 
Participe! www.yahoo.com.br/messenger/promocao


-- 
<<<<< 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] ou [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

 


Responder a