Forum
arkadaşlar merhaba
Aşağıdaki kod parçacığı ile daha önceden yaratılmış 3 adet jpg dosyasını
silmek istiyorum. Fakat her defasında ilk fotoyu siliyor diğer 2 sini
silmiyor.
Aklıma array kullanıp bu problemi çözmek geldi ama FileInfo ya tam hakim olmadığım için onuda tam anlamıyla yapamadım.
Yardımcı olursanız çok sevinirim.
for (int i = 0; i < 5; i++)
{
string resimadi = system.GetDataCell("Select Resim from UrunFotoGaleri Where UrunId=" + UrunId);
FileInfo SilinecekResim = new FileInfo(Server.MapPath("../UserFiles/Urunler/" + resimadi));
SilinecekResim.Delete();
}
İlkini silebiliyorsanız doğru yoldasınız demektir.
Demek ki ilk UrunId doğru. Fakat sonrakileri yanlış.
Bunu yukarıdaki koddan anlamak da mümkün. Çünkü int i= 0 dediğiniz i değişkenini döngü içerisinde hiç kullanmamışsınız.
Benim tavsiyem kaç tane kayıt silecekseniz döngünüzü ona göre oluşturmanız.
Bunun için en iyi yöntem for değil foreach olur. Yani foreach diyerek dönen her dataya erişim sağlarsınız. Örnek :
string[] names = Directory.GetFiles(dir);
foreach (string file in names)
{
File.Delete(file);
}
Çünkü sadece tek ürün id var ve her döngüye girdiğinde o id'ye bakıyor.
File.Delete("C:\\xxxx.jpg")
bununla gerçekleştirebilirsin.hata mesajını gösterebilirmisin?