Konuyu Paylaş : facebook gplus twitter

Konuyu Oyla:
  • Derecelendirme: 5/5 - 1 oy
  • 1
  • 2
  • 3
  • 4
  • 5
Silinmiş Kayıtları Gösterme
#1
Merhabalar. Ben sürüm olarak Delphi xe5 sql olarak mssql 2014 kullanıyorum. Veritabanından silinen kayıtları bir tabloda gösterilme şansı var mıdır? Komut olarak;


Query.Delete kullanıyorum.
Don't fear the try!
WWW
Cevapla
#2
Maalesef, ama şöyle bir şey yapabilirsin ; kayıt silinirken, sildiğin kaydın detaylarını ayrı bir tabloya yazabilirsin. LOG tablosu gibi düşünebilirsin, ve bu tablo içindeki kayıtları ekranda gösterebilirsin. Ya da sadece silinen kaydın detaylarını kaydetmek yerine, aynı tablonun ikinci bir kopyasını daha yaparsın, her sildiğin kaydı aynen oraya yazarsın. Yine oradan listeleme yaparsın.

Her şekilde 2 tane tablo ile bu işi çözebilirsin. Hem böylece, kullanıcının yanlışlıkla sildiğini düşündüğü kayıtları geri getirmen bile mümkün olabilir Smile

Kolay gelsin.

E.O.F.  (End Of Fun )
Rolleyes
Cevapla
#3
(22-02-2017, Saat: 11:26)ramazan_t Adlı Kullanıcıdan Alıntı: Linkleri Görebilmeniz İçin Giriş yap veya Üye OlMaalesef, ama şöyle bir şey yapabilirsin ; kayıt silinirken, sildiğin kaydın detaylarını ayrı bir tabloya yazabilirsin. LOG tablosu gibi düşünebilirsin, ve bu tablo içindeki kayıtları ekranda gösterebilirsin. Ya da sadece silinen kaydın detaylarını kaydetmek yerine, aynı tablonun ikinci bir kopyasını daha yaparsın, her sildiğin kaydı aynen oraya yazarsın. Yine oradan listeleme yaparsın.

Her şekilde 2 tane tablo ile bu işi çözebilirsin. Hem böylece, kullanıcının yanlışlıkla sildiğini düşündüğü kayıtları geri getirmen bile mümkün olabilir Smile

Kolay gelsin.

Yorumunuz için teşekkür ederim, bir sorum var Trigger komutunu duymuştum bununla yapılabilir deniliyordu, trigger işime yarar mı araştırsam biraz  Big Grin
Don't fear the try!
WWW
Cevapla
#4
Şöyle, sen bu silme sırasında farklı tabloya gitsin kayıt eklesin işlemini kod ile yapmayım diyorsan, veritabanında bir TRIGGER oluşturarak, mesela BEFORE_DELETE veya AFTER_DELETE gibi silme işlemi öncesi ve sonrasında yapacağın işlemleri TRIGGER'a yaptırabilirsin. Böyle o yükü SQL Server'a yıkmış olursun.

TRIGGER kullanımını öğrenmek güzel karar Smile

E.O.F.  (End Of Fun )
Rolleyes
Cevapla
#5
(22-02-2017, Saat: 11:35)ramazan_t Adlı Kullanıcıdan Alıntı: Linkleri Görebilmeniz İçin Giriş yap veya Üye OlŞöyle, sen bu silme sırasında farklı tabloya gitsin kayıt eklesin işlemini kod ile yapmayım diyorsan, veritabanında bir TRIGGER oluşturarak, mesela BEFORE_DELETE veya AFTER_DELETE gibi silme işlemi öncesi ve sonrasında yapacağın işlemleri TRIGGER'a yaptırabilirsin. Böyle o yükü SQL Server'a yıkmış olursun.

TRIGGER kullanımını öğrenmek güzel karar Smile

Bir forumda gördüm bunun için Trigger komutunu kullanmamı tavsiye ettiler, şuan onun nasıl kullanıldığına bakıyorum umarım işime yarar  Big Grin
Don't fear the try!
WWW
Cevapla
#6
Moderatörler kızacak bana Smile ama bu gönderinin Genel Programlama bölümü yerine Veritabanı/SQL Server içinde olması daha iyi olurmuş Blush

E.O.F.  (End Of Fun )
Rolleyes
Cevapla
#7
Merhaba,
Aynı tabloda bir alan daha oluşturarak "AKTIF" silinen kayıtlar için 0, aktif kayıtlar için 1 degeri ataması yapsanız bölyelikle daha hızlı sonuç alırsınız düşüncesindeyim.
Cevapla
#8
(22-02-2017, Saat: 11:45)Cyber Adlı Kullanıcıdan Alıntı: Linkleri Görebilmeniz İçin Giriş yap veya Üye OlMerhaba,
Aynı tabloda bir alan daha oluşturarak "AKTIF" silinen kayıtlar için 0, aktif kayıtlar için 1 degeri ataması yapsanız bölyelikle daha hızlı sonuç alırsınız düşüncesindeyim.

Mantıklı, benim de aklıma geldi ama program içinde kullanılan sorgularda aynı tabloda aslında silinmiş olması gereken kayıtlar da olacağı için, kayıt sayısı arttıkça sorguların yavaşlaması gibi bir durum oluşabilir. O yüzden ikinci bir tablo oluşturmayı önerdim.

E.O.F.  (End Of Fun )
Rolleyes
Cevapla
#9
Eleştiri yapmak değil sadece seçenek sunmak istedim. Yanlış bir algı oluşmaz umarım.
Böylelikle index tanımlamanın, veritabanı yönetiminin önemi ortaya çıkmış olur düşüncesindeyim. SQL cümlelerine her türlü takla attırabiliriz fakat belirli bir süreden sonra veritabanında değişiklik yapmak temele ciddi hasarlar verebilir.
Cevapla
#10
(22-02-2017, Saat: 12:35)Cyber Adlı Kullanıcıdan Alıntı: Linkleri Görebilmeniz İçin Giriş yap veya Üye OlEleştiri yapmak değil sadece seçenek sunmak istedim. Yanlış bir algı oluşmaz umarım.
Böylelikle index tanımlamanın, veritabanı yönetiminin önemi ortaya çıkmış olur düşüncesindeyim. SQL cümlelerine her türlü takla attırabiliriz fakat belirli bir süreden sonra veritabanında değişiklik yapmak temele ciddi hasarlar verebilir.

Yanlış anlamadık merak etme Smile ben de eleştirmedim zaten, sizin sunduğunuz seçenek de kullanılabilir tabi. Artık programcı nasıl kullanmak isterse öyle kullanır Smile Biz fikir verdik.

E.O.F.  (End Of Fun )
Rolleyes
Cevapla

Konuyu Paylaş : facebook gplus twitter



Konu ile Alakalı Benzer Konular
Konular Yazar Yorumlar Okunma Son Yorum
  Konumuma en yakın 5 lokasyonu gösterme mcuyan 11 577 11-12-2017, Saat: 15:18
Son Yorum: mcuyan
  Delphi cxGrid'e İlişkili Tabloda Veri Gösterme? hyperxman 5 1.009 11-08-2017, Saat: 02:19
Son Yorum: mcuyan
  Farklı tabloları bir Grid'te gösterme Mericx 6 504 04-06-2017, Saat: 15:25
Son Yorum: yhackup
  Seçilen tüm kayıtları listeleme... hido 2 1.325 01-10-2016, Saat: 10:39
Son Yorum: esistem



Konuyu Okuyanlar: 1 Ziyaretçi