Veritabanı Güncelleme işlemi ve edite veri çekme

Delphi'de kod yazma ile ilgili sorularınızı bu foruma yazabilirsiniz.
Cevapla
twistero
Üye
Mesajlar: 25
Kayıt: 06 Ara 2015 01:14

Veritabanı Güncelleme işlemi ve edite veri çekme

Mesaj gönderen twistero »

Resim
böyle bir sayfa tasarladım sadece ürün güncelleme amaçlı, yeni ürün ekleme işlemlerini başka sayfadan yapıyorum.
istediğim şey; kullanıcı sol taraftan güncellenecek kaydı seçsin ve sağdaki editlere o kaydın bilgileri gelsin.
en üstteki su19 yazan dbedit le yaptım fakat dbedit kullandığımda dbedit içerinde yazı yazdığım anda güncelliyor ve güncelle butonunun anlamı kalmıyor. sağlıksız şekilde olacak dbedit kullanırsam yanlışlıkla silme durumu olabilir bilgileri.

edit kullanırsam o verileri nasıl aktarırrım editlere veya dbedit kullanırsam yazdığım gibi anlık olarak bilginin degişmesini nasıl kapatabilirim?
Kullanıcı avatarı
brs
Üye
Mesajlar: 626
Kayıt: 04 Eki 2012 03:52

Re: Veritabanı Güncelleme işlemi ve edite veri çekme

Mesaj gönderen brs »

Selam,

Delphi ye ilk başladığımda dbgrid kullandım fakat anladım ki benim için dbgrid kullanmak zaman kaybıymış, şu anda tüm işlerimi listview üzerinden yapıyorum, listview kurcala bence daha sağlıklı...
İşi bilen yardım eder, az bilen akıl verir, bilmeyen eleştirir, yapamayan ise çamur atar...
3ddark
Üye
Mesajlar: 89
Kayıt: 14 Eyl 2010 10:55
Konum: İstanbul

Re: Veritabanı Güncelleme işlemi ve edite veri çekme

Mesaj gönderen 3ddark »

Kod: Tümünü seç

procedure TForm1.DBGrid1DblClick(Sender: TObject);
begin
  EditSoldaki1.Text := DBGrid1.DataSource.DataSet.FieldByName('id').AsString;
  EditSoldaki2.Text := DBGrid1.DataSource.DataSet.FieldByName('UrunAd').AsString;
  EditSoldaki3.Text := DBGrid1.DataSource.DataSet.FieldByName('UrunFiyat').AsFloat;
  EditSoldaki4.Text := DBGrid1.DataSource.DataSet.FieldByName('UrunKdv').AsInteger;
  EditSoldaki5.Text := DBGrid1.DataSource.DataSet.FieldByName('UrunStok').AsFloat;
end;
Gridin doubleclick olayına yukarıdaki kodları yazarsan çift tıklama ile seçilen satırın bilgileri editlere yazılır.
PostgreSQL - Delphi - Linux :!:
twistero
Üye
Mesajlar: 25
Kayıt: 06 Ara 2015 01:14

Re: Veritabanı Güncelleme işlemi ve edite veri çekme

Mesaj gönderen twistero »

brs yazdı:Selam,

Delphi ye ilk başladığımda dbgrid kullandım fakat anladım ki benim için dbgrid kullanmak zaman kaybıymış, şu anda tüm işlerimi listview üzerinden yapıyorum, listview kurcala bence daha sağlıklı...
şuanki ödevim için dbgrid daha uygun geliyor ama sizin önerinizide dikkate alacağım çok teşekkürler.
3ddark yazdı:

Kod: Tümünü seç

procedure TForm1.DBGrid1DblClick(Sender: TObject);
begin
  EditSoldaki1.Text := DBGrid1.DataSource.DataSet.FieldByName('id').AsString;
  EditSoldaki2.Text := DBGrid1.DataSource.DataSet.FieldByName('UrunAd').AsString;
  EditSoldaki3.Text := DBGrid1.DataSource.DataSet.FieldByName('UrunFiyat').AsFloat;
  EditSoldaki4.Text := DBGrid1.DataSource.DataSet.FieldByName('UrunKdv').AsInteger;
  EditSoldaki5.Text := DBGrid1.DataSource.DataSet.FieldByName('UrunStok').AsFloat;
end;
Gridin doubleclick olayına yukarıdaki kodları yazarsan çift tıklama ile seçilen satırın bilgileri editlere yazılır.
çok teşekkürler çok işime yaradı, .asfloat, .asinteger lerde hata verdi string olarak değiştirdim.
Kullanıcı avatarı
alguli
Üye
Mesajlar: 35
Kayıt: 04 Nis 2007 01:03

Re: Veritabanı Güncelleme işlemi ve edite veri çekme

Mesaj gönderen alguli »

Hatta o kodu DataSet->AfterScrool eventi altına yazarsan çok daha güzel olur.
Hayat yalanlarla dolu bir aşktır.
Gerçek aşka erişince o da biter.
twistero
Üye
Mesajlar: 25
Kayıt: 06 Ara 2015 01:14

Re: Veritabanı Güncelleme işlemi ve edite veri çekme

Mesaj gönderen twistero »

alguli yazdı:Hatta o kodu DataSet->AfterScrool eventi altına yazarsan çok daha güzel olur.
dataset kullanmıyorumki :S
Kullanıcı avatarı
alguli
Üye
Mesajlar: 35
Kayıt: 04 Nis 2007 01:03

Re: Veritabanı Güncelleme işlemi ve edite veri çekme

Mesaj gönderen alguli »

DBGrid1 bir DataSource a ve o DataSource da bir table ya da Query'ye bağlı.
İşte o table ya da query'yi kastediyorum dataset derken.
Hayat yalanlarla dolu bir aşktır.
Gerçek aşka erişince o da biter.
Cevapla