Método do DataSet [InsertRecord]


O método InsertRecord é uma grande facilidade para inserção de registros em um TDataSet e os que são herdado das classes TClientDataSet, TSQLDataSet, TFDQuery, FireDAC entre alguns outros componentes de conecção de banco de dados.
Quando utilizamos o InsertRecord não utilizamos o Insert/Append nem o Post. Simplesmente invocamos o método passando por parâmetro como array os valores dos campos em suas respectivas ordens.
Tem que ser atribuído exatamente a mesma quantidade de campos que contem no TDataSet e em suas respectivas ordem, quando o campo não será preenchido pode ser enviado campo null ou informação em branco ou zerada, mas tem que ser preenchido senão apresenta a mensagem "argument out of range". 

Vamos de dois exemplos uma da forma tradicional e outra com o InsertRecord.

Forma tradicional

procedure TForm1.FormCreate(Sender: TObject); begin cdsClientes.Append; cdsClientesCODIGO.Value := 1; cdsClientesDESCRICAO.Value := 'Ana Paula Novello'; cdsClientesCIDADE.Value := 'Bento Gonçalves'; cdsClientesATIVO.Value := 1; cdsClientes.Post; end;
Com o InsertRecord
procedure TForm1.FormCreate(Sender: TObject);
begin
  cdsClientes.InsertRecord([1, 'Ana Paula Novello', 'Bento Gonçalves', 1]);
  cdsClientes.InsertRecord([2, 'Davi Lavandoski',   'Garibaldi', 1]);
  cdsClientes.InsertRecord([3, 'Tassiara Novello',  'Carlos Barbosa', 1]);
end;

O contra desta forma e que tem que estar exatamente na mesma ordem que os campos esta disponíveis no DataSet mas para tabelas que tem poucos campos e uma "Mão na roda".

0 comentários:

Postar um comentário