Fórum Problemas DM.IBTable1.Edit #531814
15/09/2015
0
Porque todas as vezes e uso o "DM.IBTable1.Edit;", ele só altera a primeira linha do banco? exemplo:
DM.IBTable1.Edit;
DM.IBTable1.FieldByName('Cont_id').AsString:= edt1.text;DM.IBTable1.FieldByName('Cont_nome').AsString:= edt2.text;DM.IBTable1.FieldByName('Cont_Usuario').AsString:= edt3.text;DM.IBTable1.FieldByName('Cont_maquina').AsString:= edt4.text;aqui seria como esta minha tabela.
[img]http://arquivo.devmedia.com.br/forum/imagem/444757-20150915-182949.png[/img]
Rodrigo Carlos
Curtir tópico
+ 0Posts
16/09/2015
Ricardo Araujo
Gostei + 0
16/09/2015
Fabio Cardoso
Se for localizar um linha no banco use :
if DM.IBTable1.Locate('NOME_CAMPO_A_PESQUISAR', EdtLocalizar.Text, []) then
begin
DM.IBTable1.Edit;
DM.IBTable1.FieldByName('Cont_id').AsString:= edt1.text;
DM.IBTable1.FieldByName('Cont_nome').AsString:= edt2.text;
DM.IBTable1.FieldByName('Cont_Usuario').AsString:= edt3.text;
DM.IBTable1.FieldByName('Cont_maquina').AsString:= edt4.text;
end;AGORA, se for
para que estes dados fiquem repetidos na tabela todam você pode colocar um tquery no seu form
e fazer tipo abaixo:
procedure TForm1.Button1Click(Sender: TObject);
var
s:string;
begin
s:= 'UPDATE TABELA SET Cont_id = :P1, Cont_nome= :P2 ;'
Query1.Close;
Query1.SQL.Clear;
Query1.SQL.Add(S);
Query1.ParamByName('P1').AsString := edt1.text;
Query1.ParamByName('P2').AsString := edt2.text;
try
Query1.ExecSQL;
except on
e:exception do
begin
showmessage(e.Message);
abort;
end;
end;
end;
Espero ter ajudado!
Gostei + 0
17/09/2015
Rodrigo Carlos
Desculpe a demora em responder, deu certo desta forma:
DM.IBTable1.Locate('NOME_CAMPO_A_PESQUISAR', EdtLocalizar.Text, []);
DM.IBTable1.Edit;
DM.IBTable1.FieldByName('Cont_id').AsString:= edt1.text;
Muito obrigado pela ajuda.
Gostei + 0
17/09/2015
Fabio Cardoso
Gostei + 0
17/09/2015
Rodrigo Carlos
Gostei + 0
17/09/2015
Ricardo Araujo
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)