Re: [delphi-br] Uso do UPDATE nos componentes DBExpress.
ClientDataSets não aceitam instruções UPDATE, DELETE etc. Use os ProviderFlags do DataSetProvider para instruções de UPDATE etc. Utilize consultas parametrizadas tipo: SELECT * FROM TABELA WHERE ID_TABELA = :ID_TABELA e defina a propriedade UpDateMode do DataSetPRovider para UpWhereKeyOnly. Ah, não esqueça de setar a propriedade do campo ID do SQLDataSet para pfInKey para True. Sds, Neto - Original Message - From: "Rubens" <[EMAIL PROTECTED]> To: <[EMAIL PROTECTED]> Sent: Thursday, September 23, 2004 4:23 PM Subject: Res: [delphi-br] Uso do UPDATE nos componentes DBExpress. Use clientdataset para atualizações com dbexpress, fica mais estavel! ---Mensagem original--- De: [EMAIL PROTECTED] Data: 09/23/04 13:39:03 Para: [EMAIL PROTECTED] Assunto: [delphi-br] Uso do UPDATE nos componentes DBExpress. Olá pessoal, Estou com um probleminha: Não estou conseguindo executar o exemplo abaixo nos componentes TSQLDataSet + TDataSetProvider + TClientDataSet ou no SQLQuery ou no TSQLClientDataSet. Testei em cada um deles e sem sucesso. :( Exemplo executado: UPDATE produtos SET preco_custo = 23.35 WHERE cd_produto BETWEEN '2' AND '3' Está dando essa mensagem de erro: "DataSet1: Cursor not returned from Query." Desde já, muito obrigado. Abraços, Cristiano do Amaral Oliveira. BAMPETRO/ON - Tecnologia da Informação Site: http://www.bampetro.org Email: [EMAIL PROTECTED] -- < 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] Yahoo! Grupos, um serviço oferecido por: 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!. [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] ou [EMAIL PROTECTED] 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] 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
Re: [delphi-br] Uso do UPDATE nos componentes DBExpress.
Para operações que não são "select" vc deve em vez de usar ClientDataSet.Open utilize ClientDataSet.Execute. e para o SQLDataSet e SQLQuery utilize o ExecSQL(False); Cristiano do Amaral wrote: >Olá pessoal, > >Estou com um probleminha: Não estou conseguindo executar o exemplo >abaixo nos componentes TSQLDataSet + TDataSetProvider + >TClientDataSet ou no SQLQuery ou no TSQLClientDataSet. >Testei em cada um deles e sem sucesso. :( > >Exemplo executado: > >UPDATE produtos >SET preco_custo = 23.35 >WHERE cd_produto >BETWEEN '2' AND '3' > >Está dando essa mensagem de erro: "DataSet1: Cursor not returned from >Query." > >Desde já, muito obrigado. > >Abraços, > >Cristiano do Amaral Oliveira. >BAMPETRO/ON - Tecnologia da Informação >Site: http://www.bampetro.org >Email: [EMAIL PROTECTED] > > > > > -- < 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
Re: [delphi-br] Uso do UPDATE nos componentes DBExpress.
Cristiano, Com o conjunto TSQLDataSet + TDataSetProvider + TClientDataSet basta você efetuar a atualização diretamente no ClientDataSet e depois efetuar um Post seguido do ApplyUpdates. Ex.: With SeuDataModule.SeuClientDataSet do Begin Try FieldByName('nome').AsString := Cliente.Nome; FieldByName('endereco').AsString := Cliente.Endereco; FieldByName('datanasc').AsDateTime := Cliente.DataDeNascimento; Post; ApplyUpdates(0); Except on E: Exception do ShowMessage(E.Message); End; End; Espero ter ajudado. Sds, Romario Cristiano do Amaral escreveu: > Olá pessoal, > > Estou com um probleminha: Não estou conseguindo executar o exemplo > abaixo nos componentes TSQLDataSet + TDataSetProvider + > TClientDataSet ou no SQLQuery ou no TSQLClientDataSet. > Testei em cada um deles e sem sucesso. :( > > Exemplo executado: > > UPDATE produtos > SET preco_custo = 23.35 > WHERE cd_produto > BETWEEN '2' AND '3' > > Está dando essa mensagem de erro: "DataSet1: Cursor not returned from > Query." > > Desde já, muito obrigado. > > Abraços, > > Cristiano do Amaral Oliveira. > BAMPETRO/ON - Tecnologia da Informação > Site: http://www.bampetro.org > Email: [EMAIL PROTECTED] -- < 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