none
sql mail control RRS feed

  • Soru

  • merhaba arkadaslar ben face den gelen verileri veri tabanına kayıt edecegım ama ıkı kez aynı maılı kaydetmesını ıstemıyorum 

    soyle assagıdakı sorguyu yaptım ama sorguda hep deger 0 gorunuyor

     SqlCommand cmd = new SqlCommand("SELECT    count(Mail) FROM Uye wHERE Mail =@email", con);
                        cmd.Parameters.AddWithValue("email", faceBookUser.Email);
                        con.Open();
                       

                        int email = cmd.ExecuteNonQuery();
                       if (email <1)
                        {
                            SqlCommand cmd1 = new SqlCommand("insert into Uye(Mail) values(@Mail)",con);
                           
                            cmd1.Parameters.AddWithValue("@Mail", faceBookUser.Email);
                            
                            cmd1.ExecuteNonQuery();

    25 Ocak 2014 Cumartesi 23:00

Yanıtlar

  • Tuncay bey mail adresi alanını unique yapın, daha sonra sql'i execute ederken try-catch mantığını kullarak kayıt yapın örneğin;

    SqlCommand cmd1 = new SqlCommand("insert into Uye(Mail) values(@Mail)",con);
    cmd1.Parameters.AddWithValue("@Mail", faceBookUser.Email);

    try { cmd1.ExecuteNonQuery(); } catch{}

    Bu mantıkta her kaydı eklemeye çalışırken eğer aynı kayıttan varsa catch alanına geçecek ve hiçbir sıkıntı yokmuş gibi devam edecektir.

    27 Ocak 2014 Pazartesi 09:28

Tüm Yanıtlar

  • Bu email adresine ait kaçtane mail var demişsin ama sonucu gönderecek olan table ortada yok. Ayrıca kod buraya kod yazarken kodları kod bloğuna alarak ekle.

    if (email < 1)
                        {}

    Bu kısım böyle değil tam tersi olacak.

    if (email > 1)
                        {}
    Ne yapmak istediğinide tam anlamıyla anlamadım. Facebook la ne alakası var bu kodun ?


    İyi Çalışmalar. Cihangir SUR [cihangirsur@hotmail.com]

    26 Ocak 2014 Pazar 08:56
    Yanıtlayıcı
  • yaptıgım sey facebook login facebooktan gelen veriyi ilk once verinin aynısı kayıtlımı diye bakmak istiyorum bu kontrolude maili sayarak yapıyorum asdf@gmail.com mail inden bir adet varsa kayıt yapma devam et ama count sonucu 0 ise kaydet benım yaptıgımda surek sonuc sıfır cıkıyor her seferın aynı maılı sureklı kayıt edıyor
    26 Ocak 2014 Pazar 10:56
  • Email adresini primary key yaparsanız eklemeden hata vericektir ama bu tabiki sizin için çözüm değil. Kaç tane veri var diye kontrol ettirmek yerine Select ile o veriyi çek ondan sonra null'a eşit olup olmadığını kontrol et.

    26 Ocak 2014 Pazar 15:29
  • Tuncay bey mail adresi alanını unique yapın, daha sonra sql'i execute ederken try-catch mantığını kullarak kayıt yapın örneğin;

    SqlCommand cmd1 = new SqlCommand("insert into Uye(Mail) values(@Mail)",con);
    cmd1.Parameters.AddWithValue("@Mail", faceBookUser.Email);

    try { cmd1.ExecuteNonQuery(); } catch{}

    Bu mantıkta her kaydı eklemeye çalışırken eğer aynı kayıttan varsa catch alanına geçecek ve hiçbir sıkıntı yokmuş gibi devam edecektir.

    27 Ocak 2014 Pazartesi 09:28