Mega Code Archive

 
Categories / Delphi / Examples
 

Neoturk forum -querydeki seçili alanların silinmesi

" 14 Aralık 2005 19:23 tdbgrid ve SQL ile silme hakkında yardım selam arkadaşlar, tdbgrid içine listelettiğim kayıtları tek tek seçerek ve SQL ile table den nasıl silebilirim. konu ile ilgili SQL kodunu yazarsanız sevinirim. delete komutunu kullandım fakat seçtiğim alanadaki tüm kayıtları siliyor. ben sadece seçilen kayıtların silinmesini sağlayan SQL kodunu istiyorum. saygı ve seviglerimle hoşçakalın... memolipascal " ********************************************************* tablo adı tablox varsayalım ve sira_no diye bir alanı olsun. Dbgrid in bağlı olduğu nesne de Query1 olsun. Query2.close; Query2.sql.clear; Query2.sql.add(DELETE FROM tablox WHERE sira_no='+Query1.fieldbyname('sira_no').asstring); Query2.execSQL; Karahan1453 ********************************************************* çok teşekkür ederim de Query2 ifadesini neden kullandığını anlayamadım kodlamada hata olabilirmi saygılar.. memolipascal ********************************************************* 15 Aralık 2005 14:06 Query1 de listeleme işlemini , Query2de de silme işlemini yaptırmak için. Yani iki farklı işlem için iki tane Query koydum. Bir tanede koyabilirsin tabiki.Ama sildikten sonra listeleme için gerekli SQL satırını tekrar yazmalısın. Karahan1453 ********************************************************* merhaba, karahan1453 arkadaşımıza teşekkürler... memolipascal, görüyorum ki veri tabanına hemen uyum sağlamaya başlamışsın. güzel... sorunun cevabını daha kısa bir kod ile çözümleyebiliriz: query1 sorgu sonuçlarındaki seçili olan kayıtları silmek için şunları yaptırman gerekiyor: query1 in ilişkilendirildiği dbgrid nesnesinin özelliklerinden, options sekmesine gir, multiselect özelliğine true değeri ata. (çoklu seçim yapmasına izin verdirmek için) gerekirse rowselect özelliğine de true değeri ata. //...written by neoturk 16.12.2005 //kaç adet seçili satır olduğunu öğrenmek için showmessage'seçili satır sayısı = '+inttostr(dbgrid1.SelectedRows.Count)); //seçili olan satırların hepsini silmek için dbgrid1.SelectedRows.Delete; //veri tabanında siler (ben bu yöntemi kullanıyorum, kod kalabalığı başka yerlerde gerekli...) bu kadar........... kolay gelsin_ saygılarımla_