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