Yapmak istediğiniz işle ilgili doğru bileşeni bulmak için burayı kullanabilirsiniz. Sadece bulmak için, diğer sorular Programlama forumuna lütfen.
Forum kuralları
Bu forum sadece yapacağınız işle alakalı doğru bileşeni bulmak içindir. Şöyle bir şey yapmam lazım, hangi bileşeni kullanıyım diyorsanız, doğru yerdesiniz.
Arkadaşlar şöyle bir işlem yapmak istiyorum.Bir tablo var ve bu tablodaki verilere göre sorgulama yaptırıyorum.Yaptığım sorgulamaya göre dbgridde liste alıyorum.Benim yapmak istediğim bu sorgulamalardan sonra kullanıcının istediği değişikliği grid üzerinde yapıp bunu veritabanına Kaydet deyip eklemesi.
Yani dbgriddeki veriyi veritabanına yazdırmamız gerekiyor.Kaydet dediğinde dbgrid'in datasource'ini değiştirmeyi denedim.Ama olmadı.
procedure TForm1.kaydetClick(Sender: TObject);
begin
i:=0;
while not adoquery1.eof do
begin
dbgrid3.items[i].items[0]:=adoquery1.field[0].asstring;
dbgrid3.items[i].items[1]:=adoquery1.field[1].asstring;
dbgrid3.items[i].items[2]:=adoquery1.field[2].asstring;
dbgrid3.items[i].items[3]:=adoquery1.field[3].asstring;
i:=i+1,
end;
adotable1.Append;
end;
Sizce ne yapabilirim..
Bilginin efendisi olmak için çalışmanın uşağı olmak şarttır...
BALZAC
Bana bir harf öğretenin kulu kölesi olurum..
HZ.ALİ
procedure TForm1.kaydetClick(Sender: TObject);
begin
adoquery1.first;
while not adoquery1.eof do
begin
adotable1.insert;
adotable1.field[0].Value :=adoquery1.field[0].Value;
adotable1.field[1].Value :=adoquery1.field[1].Value;
adotable1.field[2].Value :=adoquery1.field[2].Value;
adotable1.field[3].Value :=adoquery1.field[3].Value;
adotable1.post;
adoquery1.next;
end;
end;
query deki kayıtları bu şekilde değiştirmeden tabloya kaydedebilirsin.
ama benim tavsiyen döngü ile uğraşmadan insert into komutu ile yap..