srnalim 21 Denunciar post Postado Junho 21, 2013 Bom dia galera novamente estou me matando de novo pois nao consigo atualizar dados no firebird com ibquery veja um exemplo de como ta o meu codigo. nao atualiza nem a pohada. var d1,d2,d3: string; begin {aqui tenho um loop e uma query pegando dados de uma bd} d1:= ibquery.fieldbyname('NomeDoCampo').asstring; //agora tento atualizar assim ibquery2.sql.clear; ibquery2.close; ibquery2.sql.add('SELECT IV_PRODUTO,IV_SALDOPOS FROM CONVERT WHERE IV_PRODUTO = "'+d1+'"'); ibquery2.open; if ibquery2.rowsaffected = 1 then begin showmessage('ok'); end {aqui termina o loop} end esse @#$%& não atualizar kkkkk alguém help-me. aqui estava fazendo um loop desnecessário na outra duvida mas quanto a isso ja dei jeito agora eu preciso atualizar os dados dessa tabela com os dados recebidos da outra por exemplo: Compartilhar este post Link para o post Compartilhar em outros sites
Eisenheim 67 Denunciar post Postado Junho 21, 2013 Olá amigos. Não seria por isso: Você está recebendo na variável d1: d1:= ibquery.fieldbyname('NomeDoCampo').asstring; E está passando pra sua query como d5: ibquery2.sql.add('SELECT IV_PRODUTO,IV_SALDOPOS FROM CONVERT WHERE IV_PRODUTO = "'+d5+'"'); É isso mesmo? Até a próxima. :thumbsup: Compartilhar este post Link para o post Compartilhar em outros sites
srnalim 21 Denunciar post Postado Junho 21, 2013 Desculpa eu passei errado nao é um SELECT e sim um UPDATE que eu to fazendo nesse sql ai e ele nao atualiza os dados da tabela pelo menos eu nao vejo essa atualização acontecer no dbgrid. faz um UPDATE TABELA SET CODBARRA = '+cod+' WHERE = "'+d1+'"'; esse d1 recebe os dados de um select com o fieldbyname entende. basicamente isso mas a atualização não é feita nem a pancada. ja tentei todos componentes da interbase. Compartilhar este post Link para o post Compartilhar em outros sites
Eisenheim 67 Denunciar post Postado Junho 21, 2013 Olá amigo. faz um UPDATE TABELA SET CODBARRA = '+cod+' WHERE = "'+d1+'"'; O d1 está vindo alimentado com algo semelhante a isso por exemplo: 'CODIGO=1'? Depois da instrução WHERE, tem que vir a coluna que impõe a condição junto do valor dessa condição. Qual o conteúdo dentro da variável d1? Até a próxima. :thumbsup: Compartilhar este post Link para o post Compartilhar em outros sites
srnalim 21 Denunciar post Postado Junho 21, 2013 veja como está ibquery3.SQL.Clear; ibquery3.Close; ibquery3.SQL.Add('SELECT IV_PRODUTO,IV_SALDOPOS FROM CONVERT WHERE IV_PRODUTO = "'+d5+'"'); ibquery3.Open; d3:= ibquery3.FieldByName('IV_SALDOPOS').AsString; memo1.Lines.Add(d5+' -> '+d3); codbarra:= ibquery3.FieldByName('IV_PRODUTO').AsString; //atualiza dados do firebird ibquery4.Close; ibquery4.SQL.Clear; ibquery4.sql.TEXT:='UPDATE C000025 SET ESTOQUE ='+d3+' WHERE CODBARRA = "'+codbarra+'"'; ibquery4.Open; ibquery4.ExecSQL; dbgrid1.Refresh; Compartilhar este post Link para o post Compartilhar em outros sites
Eisenheim 67 Denunciar post Postado Junho 21, 2013 Olá amigo. Experimente isso: //atualiza dados do firebird ibquery4.Close; ibquery4.SQL.Clear; ibquery4.sql.TEXT:='UPDATE C000025 SET ESTOQUE = :ESTOQUE WHERE CODBARRA = :CODBARRA'; ibquery4.Params[0].AsString := d3;ibquery4.Params[1].AsString := codbarra;ibquery4.ExecSQL; dbgrid1.Refresh; Até a próxima. :thumbsup: Compartilhar este post Link para o post Compartilhar em outros sites
srnalim 21 Denunciar post Postado Junho 21, 2013 agora pioro kkkkk fui mecher aqui os dados do meu dbgrid mostra somente quando estou no modo edição com o delphi quando eu do f9 pra compilar e executar ele nao mostra nada nos dbgrids sabe o que pode ser? Compartilhar este post Link para o post Compartilhar em outros sites
Eisenheim 67 Denunciar post Postado Junho 21, 2013 Olá amigo. O seu DBGrid está ligado a essa mesma ibquery4 ou é outra? Até a próxima. :thumbsup: Compartilhar este post Link para o post Compartilhar em outros sites