Didiron 0 Denunciar post Postado Junho 17, 2011 Olá MArcio. Desculpa dar retorno somente agora, mas eu consegui resolver aquele problema, só que estou com mais um agora :D . Eu tenho uma StringGrid que está trazendo todos os dados dos clientes cadastrados no banco de dados. Criei um PopUpMenu pra ela com a opção Editar, então assim que ele clicar em editar a coluna do stringgrid fica editavel onde eu posso digitar determinada alteração, até aqui está tudo ok, o problema é que irei fazer um Update no banco somente da coluna que ele clicou editar. Por Exemplo: Código | Nome | Endereço 1 | sdsd | sccscdcdcd 2 | dsao | dcdcdcddcd Caso eu queira editar o nome do registro 1, ele só vai liberar a alteração do nome, então meu update ficaria assim: UPDATE clientes SET nome=novonome WHERE id=1 Só que como eu não sei em qual coluna que o usuário irá querer alterar (pode ser nome, endereço, etc..), eu gostaria de criar uma variavel para armazenar o nome do campo que está no banco de dados com a coluna do campo que eu selecionei. Queria fazer mais ou menos assim: If eu selecionei a coluna Nome then Campo := NOME_CLIENTE(este é o campo que está no bd); UPDATE clientes SET Campo = novo_valor WHERE id = SgConsulta.Cells[0, SgConsulta.Row]; VOcê entendeu o que eu quero fazer? O que eu não estou conseguindo fazer é uma verificação para saber qual coluna eu selecionei para que eu possa atribuir o campo do bd correspondente a ela para depois jogar no update. Será que você consegue me ajudar quanto a isso? Fico muito grato. Abraço. Compartilhar este post Link para o post Compartilhar em outros sites
bdexterholland 0 Denunciar post Postado Junho 17, 2011 com o próprio dbGrid e datasets é possível fazer, isto, principalmente se usar algum tipo de table (Table, ADOTable, SQLTable). Tive problemas ao usar um adoDataSet e tentar atualizar um campo cruzado com Inner Join. Compartilhar este post Link para o post Compartilhar em outros sites