Birden fazla alanı kopyalama

Delphi'de kod yazma ile ilgili sorularınızı bu foruma yazabilirsiniz.
Cevapla
Kullanıcı avatarı
brs
Üye
Mesajlar: 626
Kayıt: 04 Eki 2012 03:52

Birden fazla alanı kopyalama

Mesaj gönderen brs »

Merhaba, Table ile birden fazla alanı DBGird'e aynı anda nasıl kopyalaya bilirim...

procedure TForm9.SpeedButton17Click(Sender: TObject);
var
I: Integer;
begin
if DBGrid1.SelectedRows.Count>0 then
with DBGrid1.DataSource.DataSet do
for I:=0 to DBGrid1.SelectedRows.Count-1 do
begin
Table1.GotoBookmark(pointer(DBGrid1.SelectedRows.Items));
DBGrid1.DataSource.DataSet.Insert;
Table1.Fields[1].AsString:=Table1.Fields[1].AsString;
DBGrid1.DataSource.DataSet.Post;
end;
end;
İşi bilen yardım eder, az bilen akıl verir, bilmeyen eleştirir, yapamayan ise çamur atar...
Kullanıcı avatarı
greenegitim
Üye
Mesajlar: 713
Kayıt: 28 Nis 2011 10:33
Konum: İstanbul

Re: Birden fazla alanı kopyalama

Mesaj gönderen greenegitim »

Sadece table1.post; işini görmüyormu anlamadım.
Mücadele güzelleştirir!
Kullanıcı avatarı
brs
Üye
Mesajlar: 626
Kayıt: 04 Eki 2012 03:52

Re: Birden fazla alanı kopyalama

Mesaj gönderen brs »

hayır birden fazla alanı kopyalamam lazım...
İşi bilen yardım eder, az bilen akıl verir, bilmeyen eleştirir, yapamayan ise çamur atar...
Kullanıcı avatarı
greenegitim
Üye
Mesajlar: 713
Kayıt: 28 Nis 2011 10:33
Konum: İstanbul

Re: Birden fazla alanı kopyalama

Mesaj gönderen greenegitim »

Kod: Tümünü seç

var
  Cogalt: array [0..255] of Variant;  //en fazla 256 alanlı tablolar
  dongu: Integer;
begin

     with table1 do
     begin
      for dongu := 1 to FieldCount - 1 do
          cogalt[dongu] := fields[dongu].asvariant;
      insert;
      for sayac := 1 to FieldCount - 1 do
         fields[dongu].asvariant := Cogalt[dongu];
     //primary key alanın varsa değiştir post et.
         showmessage('Kopyası Oluşturuldu');
  end;
Mücadele güzelleştirir!
Cevapla