Dbedit içeriğinin veritabanına kayıt sorunu

Delphi'de kod yazma ile ilgili sorularınızı bu foruma yazabilirsiniz.
Cevapla
Kullanıcı avatarı
mmnckr
Üye
Mesajlar: 83
Kayıt: 27 Nis 2005 08:04
Konum: izmir

Dbedit içeriğinin veritabanına kayıt sorunu

Mesaj gönderen mmnckr »

Arkadaşlar selam; access vt. kullanarak yazdığım programda, bilgiler ekrana dbeditlere geliyor,ben bu dbeditlere bilgi girdiğimde kaydet demeden dbedit in içeriğini değiştirince otomatikman tabloya kaydediyor. Bu şekilde kayıt yapmasını istemiyorum ben. Kaydet demeden kayıt yapmasın. Bu sorunu nasıl hallede bilirim? Bu aşamadan sonra normal edit kullanma şansın yok.
mmnckr
ayseonat
Üye
Mesajlar: 58
Kayıt: 17 Ara 2004 12:18
Konum: Konya

Mesaj gönderen ayseonat »

merhaba

formun onshow olayında table1.append die yaz. daha sonra kaydet butonuna bastığında table1.post die yaz;).

kolay gelsin
Kullanıcı avatarı
mmnckr
Üye
Mesajlar: 83
Kayıt: 27 Nis 2005 08:04
Konum: izmir

Mesaj gönderen mmnckr »

Arkadaşım sorumu yanlış anladın galiba, ben kayıt yapmaya çalışmıyorum, aktif olan veri üzerinde yanlışlıkla kayıt yapılmasını engellemeye çalışıyorum. çünkü şuan üzerinde değişiklik yapıp başka edite geçtiğimde bile vt. ye yazıyor.kaydet dememi beklemesini istiyorum.
mmnckr
Kullanıcı avatarı
Serim
Üye
Mesajlar: 194
Kayıt: 08 Ara 2004 03:32
Konum: Konya

Mesaj gönderen Serim »

editlerin onchange olayında yada kaydet butonu dışında başka biyerde tabloya post yapıyormusunuz??
ilgili kodları gönderirseniz daha faydalı cvplar alırsınız.
Bilginin temelini sağlam at depremde zarar görmesin
Kullanıcı avatarı
mmnckr
Üye
Mesajlar: 83
Kayıt: 27 Nis 2005 08:04
Konum: izmir

Mesaj gönderen mmnckr »

Kayıt olayı sadece kaydet butonuyla yapılıyor.başka bir yerden yapılmıyor.
mmnckr
Kullanıcı avatarı
ofenX
Üye
Mesajlar: 397
Kayıt: 09 Nis 2005 10:24
Konum: Diyarbakır
İletişim:

Mesaj gönderen ofenX »

Merhaba,
Eğer ttable bileşeni kullanıyorsanız. Autorefresh özelliğini false yapıp deneyin.

Ben bu özelliği false yapıp bir alanı değiştirdim. Normal olarak değiştirdi. Programı kapatıp bir daha girdim. Eski bilgi duruyordu. Bu defa alanı değiştirip kaydet butonuna bastım. Yine çıkıp programa girdim. Bu defa düzelttiğimi gösteriyordu.
Kaydet butonuna

Kod: Tümünü seç

Table1.post; 
komutunu girmiştim.
Kolay gelsin.
Kullanıcı avatarı
mikser
Üye
Mesajlar: 120
Kayıt: 30 Haz 2003 09:54
Konum: Ankara

Mesaj gönderen mikser »

Table nin CachedUpdates özelligini true yapin.

forma bir düğme ekleyin. onclickine aşağıdaki kodu yazın.

Kod: Tümünü seç

procedure TForm1.Button1Click(Sender: TObject);
begin
  Table1.ApplyUpdates();
end;
kolay gelsin.
menderes

Mesaj gönderen menderes »

Kolay gelsin,
Bence Private de veya public de bir procedure tanımla
procedure izleme();
procedure kayıt();

{$R *.dfm}
nin altına

Kod: Tümünü seç

Procedure TForm1.izleme();
begin
DBEdit1.ReadOnly:=True;
DBEdit.....Readonly leri True artık ne kadar varsa
end;
Procedure TForm1.kayıt();
begin
DBEdit1.ReadOnly:=False;
DBEdit.....Readonly leri False artık ne kadar varsa
end;
Daha sonra Formun on show olayına
sadece
izleme; // bu kod yukarıdaki procedureyi tetikleyecektir.....
yazman yeterli, kayıt yapacaksa kişi düzelt deyip veya ne diyorsanız o butonla kayıt moduna geçirir sonrada kaydetle (Edit,Post) la işlemi yaptırırsınız.
Kolay gelsin.....
Kullanıcı avatarı
mmnckr
Üye
Mesajlar: 83
Kayıt: 27 Nis 2005 08:04
Konum: izmir

Mesaj gönderen mmnckr »

Sevgili menderes, bende sonunda seninkine benzer bir yolla sorunumu hallettim. oncreat olayı ile hepsini readonly:=true yaptı. düzelt ve kayıt işlemlerinde readonly:=false yaparak kayıt imkanı verdim.Cevaplarınız için çok teşekkürler.
mmnckr
vesper
Üye
Mesajlar: 78
Kayıt: 28 Tem 2005 08:23

Mesaj gönderen vesper »

table1.beforescroll a table1.cancel yazarsan sorunun çözülür sanırım
menderes

Mesaj gönderen menderes »

vesper yazdı:table1.beforescroll a table1.cancel yazarsan sorunun çözülür sanırım
Maalesef dediğiniz gibi olmuyor, kusura bakmayın ama sanırım siz denemeden yazdınız herhalde.....
Kullanıcı avatarı
tuanna
Üye
Mesajlar: 582
Kayıt: 06 Ara 2004 05:01
Konum: Ankara
İletişim:

Mesaj gönderen tuanna »

ya arkadaşlar ne yaptınız ya...
anlayamadım sadece datasource nesnesini auto edit özelliği ile ve arkadaşın kullanıdığı bileşende yapmış olduğu bir değiştirme yüzünden ...
normal bir dbedit ekle..dene...
Siz hayal edin...Biz yapalım TuannaSoft...
Kullanıcı avatarı
NewMember
Üye
Mesajlar: 990
Kayıt: 29 Haz 2005 06:57
Konum: Bursa

Mesaj gönderen NewMember »

Datasetinin bağlı olduğu datasource nesnesinin autoedit özelliğini false yaparsan sorunun çözülür.Kolay gelsin.Bu özelliği öğrenmeden önce bende dbeditleri readonly özellikleriyle bunu uyguluyordum ancak bazen yeni bir şey ekleyince bunları değiştirmeyi falan unutabiliyosun.Bu dediğim en garanti yolu.Çalışmalarında başarılar.Kolay gelsin.
Cevapla