27 Temmuz 2012 Cuma

SQL Server Date ve Time tiplerinin ADO.NET ile kullanımı

SQL Server'daki Date ve Time veri tiplerini ADO.NET tarafında nasıl kullanırız?

Sql Server içerisinde yer alan date ve time veritipleri, .NET Framework 3.5 sürümünün ilk servis paketi (Service Pack 1 (SP1)) ile birlikte .NET tarafında da desteklenmeye başladı. System.Data.SqlClient tarafından sunulan tüm yenilikleri kullanabilmek için .NET Framework 3.5 ve Servis Paketinin işletim sisteminizde yüklü olması gerekiyor.

image

Time veri tipi için, .NET Framework tiplerinden System.TimeSpan kullanılması tavsiye ediliyor. Diğer tipler için aşağıdaki tabloyu inceleyebilirsiniz.

image

Date ve Time tiplerinin örnek kullanımına ait kodlar için yine aşağıya bakmanız yeterli.

SqlParameter p = new SqlParameter();
p.ParameterName = "@Date";
p.SqlDbType = SqlDbType.Date;
p.Value = "1992/6/25";


SqlParameter p2 = new SqlParameter();
p2.ParameterName = "@time";
p2.SqlDbType = SqlDbType.Time;
p2.Value = DateTime.Parse("12:17:39").TimeOfDay;


http://msdn.microsoft.com/en-us/library/bb675168.aspx linkindeki makalede SQL Server 2008 ile gelen Date ve Time veri tipleri, ADO.NET içerisinde kullanımı da gözönünde bulundurularak inceleniyor. Ayrıca http://msdn.microsoft.com/en-us/library/ms180878%28SQL.100%29.aspx linkinde de faydalı şeyler bulabilirsiniz.



Time tipinin ADO.NET tarafındaki kullanımı için örnek bir makaleye de aşağıdaki linkten ulaşabilirsiniz.

http://blogs.msdn.com/b/usisvde/archive/2007/11/14/time-for-ado-net.aspx



Time veritipinin SQL üzerindeki kullanımı için de bu makaleye bakabilirsiniz.

SQL Server – Date ve Time Veri Tipleri

Bildiğiniz gibi datetime veri tipi ile hem tarih hem zaman bilgisini bir arada tutabiliyoruz. Bu bilgilere ayrı ayrı ihtiyaç duyduğumuzda da bir çok gereksiz dönüşüm işi yapmak zorunda kalıyoruz. SQL Server üzerindeki Date ve Time tiplerini kullanarak bu karmaşaya bir çözüm üretilebilir. Tarih için Date ve tarihten bağımsız olarak sadece zaman bilgisi tutmak için de Time veri tipini kullanabiliriz.

BooksOnline’dan alınmış olan aşağıdaki tabloda date ve time veri tipleri ile ilgili bilgiler bulabilirsiniz.

image

Date ve Time veritipleri, tür dönüşümleri sırasında kendilerinden beklendiği gibi bir davranış sergiliyorlar. datetime tipinden, date ya da time tiplerine bilinçsiz (implicitly) tür dönüşümü yaparken dahi ihtiyaç duyulan doğru kısım otomatik olarak dönüştürülebiliyor.

Bilinmesi gereken önemli noktalardan birisi date + time aritmetiğinin mümkün olmadığıdır. Bu yüzden, eldeki date ve time değerlerinden bir datetime oluşturmak için aşağıdaki gibi bir extra çalışma yapmak gerekiyor:

DECLARE @tarih date = '2012-06-25';
DECLARE @zaman time = '12:17:08.050';
DECLARE @dt datetime2;

SET @dt = dateadd(ms, datediff(ms, 0, @zaman), cast(@tarih as datetime2));

select @dt;

Sonuç; 2012-06-25 12:17:08.050 şeklinde olacaktır.

Bir sonraki yazımda date ve time veritiplerinin .NET tarafında nasıl ele alınacağından bahsedeceğim.

25 Temmuz 2012 Çarşamba

Visual Studio 2012–En iyi 5 Yeni Özellik

image

Metro UI Development Support  – Visual Studio 2012 includes support for new project templates for building Metro UI apps for multiple devices and Windows 8.  Support includes XAML, C#, VB, and HTML5/Javascript apps.  If you want to build a Windows 8 app, you might need to run VS 2012 on Windows 8 for WinRT support.

Game Development Support  – Game development support is included in Visual Studio including first rate debugging of multithreaded XNA games.  It also includes visual designers for 2D and 3D gaming.

Semantic Code Analysis  – Visual Studio 2012 has come a long way from FxCop. Code Analysis features in VS 2012 include semantic code analysis, i.e. not just syntax but the actual logic of your code.  This allows for better refactoring including my personal favorite feature, finding copy/paste code and refactoring to use inheritance.

Team Development Improvements - Many of the new features for teams center around the upcoming Team Foundation Server 2012 release.  These include performing code reviews, an enhanced diff tool, and offline workspaces.  There have also been some very nice improvements in Agile/Scrum management with the new TFS Scrum Project template.

HTML5/CSS3 Support – Visual Studio 2012 includes support for HTML5 and CSS3 for both Metro UI apps as well as web based applications.  Of course VS 2012 will include ASP.NET MVC4 and Razor support.  But perhaps best of all is the improved support for Javascript including Intellisense and debugging features.

Kaynak: Plural Sight

21 Temmuz 2012 Cumartesi

19 Temmuz 2012 Perşembe

Rakamlarla Kartlı Ödeme Sistemleri (Temmuz 2012)

image

Türkiye’de banka kartı sayısı: 81 milyon 879 bin
Kullanılan kredi kartı sayısı: 51 milyon 360 bin 809
Türkiye’deki ATM sayısı: 32 bin 462
Pos cihazlarının sayısı: 1 milyon 976 bin 843

Banka kartıyla 2011 yılında 1 milyardan fazla işlem gerçekleşti.
Kredi kartı işlem sayısı: 2.2 milyar adet
Banka kartının işlem cirosu: 255 milyar Lira
Kredi kartının işlem cirosu: 291 milyar Lira

İnternette Kart Kullanımı

Bankalararası Kart Merkezi’nin (BKM) 2011 yılı verilerine göre, hızlı ve kolay alışveriş olanağı sağlayan e-ticareti tercih edenlerin sayısı her geçen gün artıyor. 2011 sonu itibariyle, yerli kredi kartları ile yerli ve yabancı sitelerde 22 milyar TL tutarında, 135 milyon adet  e-ticaret işlemi gerçekleştirildi.

İnternetteki e-ticaret işlem hacmi ile ilgili olarak aşağıdaki link işinize yarayabilir.
Türkiye E-ticareti geçen yıl 2. çeyreğe göre yüzde 40 büyüdü

Windows 8 için Resmi Tarih 26 Ekim 2012

image

Bugün açıklanan tarihe göre, Windows 8, 26 Ekim’de tüketici ile buluşacak. Detayları aşağıdaki linkten okuyabilirsiniz.

http://windowsteamblog.com/windows/b/bloggingwindows/archive/2012/07/18/windows-8-will-be-available-on.aspx

Tarih uzak diye üzülmeyin. RTM sürümü, çok çok daha erken bir tarihte bizlerle olacak.

8 Temmuz 2012 Pazar

Deliren Developer Ne Yapar?

İki ekmek eşliğinde kod yazmaya devam eder.

İki Ekmek Aldım, Kodları Yazdım, Markete Attım.

7 Temmuz 2012 Cumartesi

Tuple ile Metottan Geriye Birden Fazla Değer Döndürmek

.NET Framework ve C# 4.0’ın yayınlanması ile birlikte Tuple adında yeni bir tip ile tanıştık. Belki .NET tarafında bu tip ile yeni tanışıyoruz ama Python kullananlar için pek de yeni bir tip sayılmaz.

Matematikte ise, Tuple, belirli sayıda değerlerin sıralı listesi olarak geçer. Bu değerlere Tuple’ın bileşenleri denir. Örneğin, Ad, İkinci Ad ve Soyad’dan oluşan bir topluluk 3 elemanlı Tuple olarak nitelendirilebilir.

Bir örnek ile durumu daha net anlamaya çalışalım.

public Tuple<int, int> BolumVeKalanHesapla(int x, int y)
{
    return Tuple.Create(x/y, x%y);
}

public void TestMethod()
{
    var tuple = BolumVeKalanHesapla(10,3);
    Console.WriteLine("Bölüm: {0} Kalan: {1}", tuple.Item1, tuple.Item2);
}

Yukarıdaki örnekte, method, iki integer taşıyan bir Tuple döndürüyor. Yani, Tuple kullanarak, metottan geriye birden fazla değer döndürmüş oluyoruz. Böylece tembel programcılar daha az kod yazarak daha çok iş yapabilirler.

Tuple ile ilgili daha detaylı bilgi için aşağıdaki linkleri kullanabilirsiniz:

5 Temmuz 2012 Perşembe

SQL Server “Database 'msdb' cannot be opened” hatası ve çözümü.

image“Database 'msdb' cannot be opened. It has been marked suspect...” şeklinde başlayan hatadan kurtulmak için Setup CD’si ya da kurulum dosyasını kullanarak veritanablarını rebuild etmelisiniz. Kurulum dosyası elinizde tek parça exe ise öncelikle bu dosya üzerine sağ tıklayıp, içeriğini bir klasöre çıkartarak ilerlemeniz gerekiyor.

Dosyaların olduğu klasörü elde ettikten sonra, komut satırına geçmek gerekiyor. Burada yazılacak koda dair örnek bir kullanım aşağıdaki gibi olacaktır.

C:\Documents and Settings\VoltronPC\Desktop\SQLEXPRWT_x86_ENU>Setup /QUIET /ACTION=
REBUILDDATABASE /INSTANCENAME=SQLEXPRESS /SQLSYSADMINACCOUNTS=BUILTIN\Administra
tors VoltronPC\Ercan /sapwd=sapass

Konunun detayları için aşağıdaki 3 link işinizi görecektir.