dbgridde gösteriyor ama veritabanına kaydetmiyor

Delphi'de kod yazma ile ilgili sorularınızı bu foruma yazabilirsiniz.
Cevapla
zaxacm
Üye
Mesajlar: 129
Kayıt: 05 Ara 2005 05:48

dbgridde gösteriyor ama veritabanına kaydetmiyor

Mesaj gönderen zaxacm »

Fgenel isimli formun üzerinde bir dbgrid var ve adoquery1 ve datasource1 var. adoquery1 in

sql kısmına birşey yazmadım.

Aşağıdaki kodlar ile dbgridi dolduruyorum.

procedure TFgenel.liste_doldur;
begin
ADOQuery1.Close;
ADOQuery1.SQL.Clear;
ADOQuery1.SQL.Add('select * from ' + tabloadi);
ADOQuery1.SQL.Add('order by ad');
ADOQuery1.Open;
end;

Buraya kadar sorun yok.Fgenel formu üzerinde butona basınca Form1 açılıyor buradan kayıt

yapıp Fgenel üzerindeki Dbgridde göstermem lazım.Aşağıdaki gibi yapıyorum ama dbgridde

gösteriyor ama veritabanına(access)kaydetmiyor.Nasıl yapabilirim acaba.

Fgenel.ADOQuery1.Insert;
Fgenel.ADOQuery1.edit;
Fgenel.ADOQuery1.FieldByName('ad').AsString:=Edit1.Text;
Fgenel.ADOQuery1.FieldByName('kisi').AsString:=Edit2.Text;
Fgenel.ADOQuery1.FieldByName('tel1').AsString:=Edit3.Text;
Fgenel.ADOQuery1.FieldByName('tel2').AsString:=Edit4.Text;
Fgenel.ADOQuery1.FieldByName('fax').AsString:=Edit5.Text;
Fgenel.ADOQuery1.Post;
mkysoft
Kıdemli Üye
Mesajlar: 3110
Kayıt: 26 Ağu 2003 12:35
Konum: Berlin
İletişim:

Mesaj gönderen mkysoft »

Kod: Tümünü seç

Fgenel.ADOQuery1.Insert; 
Fgenel.ADOQuery1.edit; 
Fgenel.ADOQuery1.FieldByName('ad').AsString:=Edit1.Text;
ortada yer alan satırdan olmasın sakın. önce insert edip sonra edit etmen olayları karıştırıyordur. insert yapınca edit'e gerek yoktur.
zaxacm
Üye
Mesajlar: 129
Kayıt: 05 Ara 2005 05:48

Mesaj gönderen zaxacm »

Biraz daha ayrıntılı anlatayım.

anaform üzerinde butonlar var.Her butona tıkladığımda Fgenel isimli form açılıyor ancak her butonu tıkladığımda tabloadi değişkeni değiştiği için Fgenel üzerindeki dbgridde farklı bir access tablosu listeleniyor.Buraya kadar sorun yok.Ancak Fgenel isimli form üzerindeki kayıt butonuna tıkladığımda açılan kayıt formundan Fgenelde listelenen tabloya kayıt yapmak istiyorum.Nasıl yapabilirim.
Kullanıcı avatarı
aslangeri
Moderator
Mesajlar: 4322
Kayıt: 26 Ara 2003 04:19
Konum: Ankara
İletişim:

Mesaj gönderen aslangeri »

s.a.

Kod: Tümünü seç

fgenel.dbgrdi1.datasource.dataset
üzerinde giderek ilgili tabloya kayıt yapabilirsiniz.
ancak hangi tablonun gösterildiğini bir değişkeni set ederek anlayabilir
ve o değişkenin değerine göre (case kullanarak veya if le karşılaştırarak) hangi tablonun kullanıldığını bulabilir ona göre ilgili tabloya kayıt ekleyebilirsin.
kolay gelsin.
Duyduğun Şeylerin Söylediklerim Olduğuna Eminim Ama
Anladığın Şeylerin Anlatmak İstediklerim Olduğuna Emin Değilim
zaxacm
Üye
Mesajlar: 129
Kayıt: 05 Ara 2005 05:48

Mesaj gönderen zaxacm »

arkadaşlar msnden yardım eden olur mu acaba zaxacam@hotmail.com
Kullanıcı avatarı
vedatkaba
Kıdemli Üye
Mesajlar: 866
Kayıt: 06 Oca 2004 06:50
Konum: DARICA/GEBZE

Mesaj gönderen vedatkaba »

Kod: Tümünü seç

Fgenel.ADOQuery1.append; 
Fgenel.ADOQuery1.FieldByName('ad').AsString:=Edit1.Text;
Fgenel.ADOQuery1.post; 
Dene bakalım
***********************************
Kamil odur ki; koya dünyada bir eser,
Eseri olmayanın, yerinde yeller eser.

***********************************
Cevapla