Estou editando o post, pois minha dúvida não foi esclarecida, então vou escrever de forma mais compacta e objetiva!
É o seguinte: tenho um DBGrid, que exibe os dados de uma tabela clientes, através do ADOQUERY(select Nome, CPF, Endereço from Clientes)... Eu gostaria de fazer alterações manualmente no banco de dados, através de DBEdits, então carrego os dados do cliente selecionado na DBGrid em DBEdits, e tenho um botão de salvar que executa a seguinte QUERY(insert into Clientes(Nome) values (:a)) e logo abaixo: ADOQuery1.Parameters.ParamByName('a').Value:= DBEdit1.Text;
Supostamente isso deveria pegar o valor do DBEdit1 e adicionar na tabela certo? Errado, pois quando faço a nova query insert no ADOQuery, ele limpa e some com todos os registros, inclusive do DBGrid e do DBEdit (que está tudo conectado) e acaba inserindo uma linha vazia na tabela, uma vez que perdeu todos os dados no momento da nova query... Como realizar isso? Como salvar os dados da primeira query no DBGrid para realizar a segunda query sem que eu perca tudo?
Coisas tentadas Usar o comando ADOQuery1.Post depois da primeira query, achando que ia salvar, mas não salvou nada, quando dou a segunda query, some tudo do mesmo jeito...
Coisa pensadas Depois de preencher o DBGrid com os dados na primeira query, 'deslinkar' ele do DataSource, para que não passe mais queries por ele, mas acho que isso ficaria uma porcaria :blink: ...
Pergunta
Dolfin
É o seguinte: tenho um DBGrid, que exibe os dados de uma tabela clientes, através do ADOQUERY(select Nome, CPF, Endereço from Clientes)...
Eu gostaria de fazer alterações manualmente no banco de dados, através de DBEdits, então carrego os dados do cliente selecionado na DBGrid em DBEdits, e tenho um botão de salvar que executa a seguinte QUERY(insert into Clientes(Nome) values (:a)) e logo abaixo:
ADOQuery1.Parameters.ParamByName('a').Value:= DBEdit1.Text;
Supostamente isso deveria pegar o valor do DBEdit1 e adicionar na tabela certo? Errado, pois quando faço a nova query insert no ADOQuery, ele limpa e some com todos os registros, inclusive do DBGrid e do DBEdit (que está tudo conectado) e acaba inserindo uma linha vazia na tabela, uma vez que perdeu todos os dados no momento da nova query...
Como realizar isso? Como salvar os dados da primeira query no DBGrid para realizar a segunda query sem que eu perca tudo?
Coisas tentadas
Usar o comando ADOQuery1.Post depois da primeira query, achando que ia salvar, mas não salvou nada, quando dou a segunda query, some tudo do mesmo jeito...
Coisa pensadas
Depois de preencher o DBGrid com os dados na primeira query, 'deslinkar' ele do DataSource, para que não passe mais queries por ele, mas acho que isso ficaria uma porcaria :blink: ...
SALVE-ME QUEM PUDER!! Editado por Dolfin
Link para o comentário
Compartilhar em outros sites
4 respostass a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.