ASP.NET ve SQL’de IP adresi getirme

Bulunduğunuz server’un ip adresini getiren asp.net kodu

string strHostName = System.Net.Dns.GetHostName();
IPHostEntry ipHostInfo = Dns.Resolve(Dns.GetHostName());
IPAddress ipAddress = ipHostInfo.AddressList[0];

Bulunduğunuz server’un ip adresini getiren sqlkodu

DECLARE @IP_Address varchar(255)
SELECT @IP_Address = client_net_address FROM sys.dm_exec_connections
WHERE Session_id = @@SPID

print(@IP_Address)

SQL Server Saving changes is not permitted hatası

Bu uyarı mesajıyla karşılacağımız zaman sql server ‘da tools menusü altından options seçeneğini seçiyoruz.Çıkan ekranda Designers sekmesini seçerek çıkan ekranda

  • Warn about difference detection
  • Warn about tables affected
  • Prevent saving changes that require table re-creation
  • sekmelerinin işaretleri kaldırıyoruz.Bundan sonra değişikliklerimizi kayıt edebiliriz.

    Untitled-1

    Untitled-2

    SQL Unique index ile çift kayıt sorununa çözüm

    Merhaba arkadaşlar sql’de indexlerin genelde performans arttırma özelliklerini kullanırız bununla ilgili makaleler önümüzdeki hafta içinde yazıyor olacağım fakat bu örnekte oluşturacağımız index ile herhangi bir kolonu tekrar eden bir kaydın önüne geçmeye çalışacağız.

    Öncelikle tbl_Musteri adında Ad,Soyad ve Mail kolonları bulunan bir tablomuz olsun bu tabloda mail adresleri unique olsun ve aynı mail adresi girilmeye çalışıldığında bunun önüne geçelim.

    1

    2

    3

    Daha önce deneme@gmail.com mail adresiyle tanımlanmış bir kayıt olsun yine bu maille bir kayıt girildiğinde aşağıdaki hatayı alırız.

    Msg 2601, Level 14, State 1, Line 3
    Cannot insert duplicate key row in object ‘dbo.tbl_Musteri’ with unique index ‘NonClusteredIndex-20140309-190654’. The duplicate key value is (deneme@gmail.com).

    4

    SQL Tarih Fonksiyonları

    Bu makalemizde Sql server’da sıkça kullandığımız tarih fonksiyonlarından ve 2012 ile gelen yeni tarih fonksiyonlarından bahsedeceğim.

    DATEPART
    Belirlediğimiz tarihin gün,ay ve yıl’ını öğrenmek için kullanacağımız fonksiyonlardan biridir.

    select datepart(dd,'01/02/2014')
    select datepart(mm,'01/02/2014')
    select datepart(yy,'01/02/2014')
    

    sonuç olarak birinci sorugumuz 1 , ikinci sorgumuz 2 ,ve 3.sorgumuz 2014 değerini döndürecektir.

    ISDATE
    Isdate fonksiyyonu girdiğimiz tarihin geçerli bir tarih olup olmadığını kontrol edebileceğimiz fonksiyondur.

    set language turkish
    select ISDATE('01/01/2014')
    select ISDATE('15/13/2014')
    

    Birinci sorgumuz 1 değerini döndürecektir fakat ikinci sorgu 0 değeri döndürecektir bunun sebebi 13.ay olmamasıdır.

    DATEADD

    Herhangi bir tarihe istediğimiz şekilde gün ,ay ve yıl ekleyerek yeni tarihler elde edebileceğimiz fonksiyondur.

    select Dateadd(yy,1,'01/01/2014')
    

    Sorgumuzun sonucunda 01/01/2015 tarihini elde edeceğiz.

    DATEDIFF

    İki tarih arasındaki gün,ay ve yıl farkını bulabileceğimiz fonksiyondur.

    select DATEDIFF(yy,'01/01/2010','01/01/2014')
    

    Sorgumuzunu sonucunda iki tarih arasında 4 yıl fark olduğunu bulacağız.

    DATEFROMPARTS

    Belirlediğimiz parametrelerle tarih oluşturmamızı sağlayan fonksiyondur.

    select DATEFROMPARTS(2014,1,1)
    

    Sorgu sonucunda 2014-01-01 tarihini elde edeceğiz.

    EOMONTH

    2012 ile gelen emonth fonskiyonu bulunduğumuz ayın kaç gün sürdüğünü belirten fonskiyondur.

    select EOMONTH('01/01/2014')
    

    Sorgusunun sonucunda 2014-01-31 değerini elde ederiz.