 |
ActiveDelphi .: O site do programador Delphi! :.
|
Exibir mensagem anterior :: Exibir próxima mensagem |
Autor |
Mensagem |
RODRIGOSOUZArios Novato

Registrado: Sábado, 16 de Julho de 2005 Mensagens: 84 Localização: varginha
|
Enviada: Ter Fev 13, 2007 10:15 am Assunto: Alterar valores dos campos... |
|
|
Pessoal é o seguinte, eu preciso implementar uma rotina na qual busque todos os registros de uma tabela a altere o valor de um campo...
onde estou utilizando, um sqlconnection,uma query, um datasetprovider, um clientdataset.
Estou tentando com o código abaixo, porém me retorna um erro em "Update affected more than 1 record".
begin
ClientDataSet1.First;
WHILE NOT CLIENTDATASET1.Eof DO
BEGIN
CLIENTDATASET1.Edit;
ClientDataSet1PRECO_VISTA.AsCurrency:=999;
clientdataset1.Post;
CLIENTDATASET1.NEXt;
end;
clientdataset1.ApplyUpdates(0);
END;
Alguem ae poderia me ajudar???
valew |
|
Voltar ao Topo |
|
 |
thomazs Moderador


Registrado: Segunda-Feira, 1 de Março de 2004 Mensagens: 2835
|
Enviada: Ter Fev 13, 2007 3:09 pm Assunto: |
|
|
No provider, altere a opção poAllowMultiRecordUpdates para true... pode ser que resolva, ou então, mostre como está o seu select, e a estrutura dos campos (UpdateFlags) dos campos. _________________ Suporte e Consultoria em Desenvolvimento de Sistemas
Bacharel em Sistemas de Informação
Especialista em Bancos de Dados
Desenvolvimento: Clipper, Delphi, PHP, Python/Django |
|
Voltar ao Topo |
|
 |
RODRIGOSOUZArios Novato

Registrado: Sábado, 16 de Julho de 2005 Mensagens: 84 Localização: varginha
|
Enviada: Ter Fev 13, 2007 3:40 pm Assunto: |
|
|
Tentei alterar a propriedade do Provider para poAllowMultiRecordUpdate, mas me retornou um erro. "Record not found or changed by another user.", não sei o q pode estar acontecendo...
procedure TForm1.BitBtn1Click(Sender: TObject);
begin
with SQLQuery1 do
begin
close;
sql.clear;
sql.Add('SELECT * FROM PRODUTOSGRADE WHERE CODIGO_PRODUTO = :CODIGO');
ParamByName('CODIGO').ASINTEGER:=STRTOINT(EDIT1.TEXT);
OPEN;
END;
clientdataset1.Open;
END; //esse codigo apenas abre a query e o clientdataset com os respectivos registros solicitados.
procedure TForm1.BitBtn2Click(Sender: TObject);
begin
clientdataset1.First;
while not clientdataset1.Eof do
begin
CLIENTDATASET1.Edit;
ClientDataSet1PRECO_VISTA.AsInteger:=12;
CLIENTDATASET1.POST;
ClientDataSet1.Next;
END;
clientdataset1.ApplyUpdates(0);
end;//esse codigo faz o laço de repeticao e a alteração dos registros...
Se puder me ajudar... agora os flags do provider eu nao sei mto bem o q é isso...rsss...
Obrigado! |
|
Voltar ao Topo |
|
 |
|
|
Enviar Mensagens Novas: Proibido. Responder Tópicos Proibido Editar Mensagens: Proibido. Excluir Mensagens: Proibido. Votar em Enquetes: Proibido.
|
|