Mevcut sayıyla toplayarak update etme
#1
Merhaba arkadaşlar. Access veritabanını kullanan bir C# uygulaması yapmaya çalışıyorum.

Veritabanında double türü bir alanım var. Bu alanı gönderdiğim sayıyla toplayarak update etmek istiyorum.
Önce alanları tek tek okuyup değişkenlere atıp, sonra programda hesaplanan toplam sonucunu veritabanında update etmek bana uzun bir yol gibi geldi. Veritabanı ve access neredeyse hiç bilmediğim için bunun kısa bir yolunun olup olmadığını merak ediyorum.

Daha açık olması açısından bi örnek vereyim. Mesela veritabanında toplam_kitap_sayısı isminde sayı türünde bir alan var. Yeni bir kitap kiralandığında tek bir komutla bu sayıdan 1 değerini düşebilir miyim?
Yoksa önce mevcut kitap sayısını okuyup, programda sayıyı 1 değerini çıkartıp sonucu update mi etmem gerekiyor?



  Alıntı
Bu mesajı beğenenler:
#2
Merhaba..

Veritabanınızı görmekte fayda var.. Şöyle ki; kitaplar adında bir tablonuz olduğunu düşünürsek yeni kitap girişini bu tabloya yaparsınız ve toplamını almayı da sanırım biliyorsunuz..

Kitap çıkışı için ise ya kayıt silinmeli -ki bu kitabın bir daha geri gelmemesi demek. gelse de aynı kaydı yeniden oluşturmak demek- ya da kiralanma veya ödünç verme gibi bir durum varsa bunun içinde ayrı bir tablo oluştrumalısınız.. İstediğiniz sonucu mevcut kitap sayısını = kitap sayısı - kirada olan(ödünç verilen) kitap sayısı olarak bulabiliriz.. Bu yöntem veritabanı oluşturma kuralları için de en uygun yöntemdir..

Veritabanı ve access konusunda deneyimsiz olduğunuzu belirttiğinizden işaretle bu konuyu ve altında vereceğim linkteki dökümanı incelemenizi öneririm..

Ev Kütüphanesi Takip Uygulaması -Uygulamayı shift tuşuna basılı olarak açarsanız tablolara ulaşabilirsiniz-

http://www.access-sql.com/Konu-Veritaban...FORMATINDA

İyi çalışmalar...



  Alıntı
Bu mesajı beğenenler:
#3
Şimdi basit olarak iki tablo olması gerekiyor haliyle. Birincisi kitaplar tablosu, ikincisi kiralamalar tablosu.
Basit olarak tablo şeklini yazıyorum:

Birinci tablo: Kitaplar
Kitap_Adı -------- Türü -------- Yazarı ------- Miktarı ------ vesaire...

İkinci Tablo: Kiralamalar
Kiralayan_Adı ------ Kiraladığı_Kitap_Adı ------- Telefonu ------- E_Mail -------- Kiralama_Tarihi ------ vesaire...

Kitaplar tablosunda miktar diye bir alan olması zorunlu, çünkü aynı kitaptan bir çok adet mevcut olabilir.
Sorun şu, adamın biri kitabı kiraladığında, önce mevcut miktarı okuyup, bir eksiltip sonucu update etmem mi gerekiyor?
Bunun daha basit bir yolu var mı? (mevcut veri ile toplayarak/çıkartarak update etme gibi)
Yoksa access ne işe yarar? : ) (bunun için verdiğiniz linkleri inceleyeceğim teşekür ederim : ) )



  Alıntı
Bu mesajı beğenenler:
#4
Merhaba, Kiralamalar tablosuna birde Getirdigi_Tarih alanı eklersek eğer tarih boş ise kitap miktarından düşecek. Dolu ise düşmeyerek güncel kitap miktarını hesaplamış olacağız.
"Gönül deniz, dil kıyıdır. Denizde ne varsa kıyıya o vurur"



  Alıntı
Bu mesajı beğenenler:
#5
Tamam düşecek de nasıl düşecek? Önce mevcut miktarı okuyup 1 çıkarıp update etmekten başka yöntem yok mu?

Mesela şöyle bir yöntem: (sallıyorum, mantığını belirtme açısından)

update kitaplar set miktar = [current_value - 1] where kitapID = 13




  Alıntı
Bu mesajı beğenenler:
#6
Mevcut tasarım için dediğiniz amaç doğrultusunda Update olayını kesinlikle kafanızdan çıkarın.

Update olayı işlem sonuçları için değil daha çok verilerde yapılan değişklikler için kullanılır. Tabii bunun haricinde özel durumlar da olabilir.
Javascript
  1. this.setState({sign:"Here comes the sun...."})







  Alıntı
Bu mesajı beğenenler:


Benzer Konular...
Konu: Yazar Cevaplar: Gösterim: Son Mesaj
  [FORM] Alt Formda Tüm Kayıtları Seçme Ve Seçimi Iptal Etme M_Kemal_Askeri 3 78 22-05-2026, 01:09
Son Mesaj: M_Kemal_Askeri
  [TABLO] Mevcut Ay Ve Yıl Otomatik Gelebilir Mi? omergenc7 27 2.081 31-10-2024, 14:46
Son Mesaj: omergenc7
  [TABLO] Sonuç Elde Etme Access Ziyaretçisi 7 531 09-08-2024, 20:40
Son Mesaj: dsezgin
  [VBA] Dış Vt Den Tablo Link Etme (bağlama) orderyazbim 2 444 20-02-2023, 10:09
Son Mesaj: orderyazbim
  Excelle Aktarırken Tarih Aralığını Pasif Etme angelos 8 809 08-10-2022, 17:15
Son Mesaj: alperalper
  [FORM] Ilişkisiz Formdan Tabloya Uzun Metin Kayıt Etme Willingness 4 649 26-05-2021, 16:40
Son Mesaj: Willingness
  [FONKSiYON] Mevcut Tarih Verileri Baz Alınarak +iş Günü Ilavesi Ile Ileri Süreli Tarih Bulmak. osmanorman 10 2.098 03-03-2021, 12:38
Son Mesaj: dsezgin
  [FONKSiYON] Mevcut Hazırlık Ve Excele Aktarma hturkavci03 2 716 25-02-2021, 20:28
Son Mesaj: hturkavci03

Foruma Git:


Bu konuyu görüntüleyen kullanıcı(lar): 1 Ziyaretçi