Nihayet Silverlight 3 final sürümü çıktı

Silverlight ' ın final srümü sonunda yayınlandı. Silverlight 3 ile yazılım geliştirmek için gerekli linkleri silverlight.net adresinden erişebilirisiniz.

Herkese iyi çalışmalar

SqlClient.SqlBulkCopy Kullanmak

Bu makalemizde SqlClient namespace'indeki SqlBulkCopy classını inceleyeceğiz. SqlBulkCopy mantık oalrak sqlcommand ' a benzemektedir. Uzun data işlemlerinde yüksek performans sağlar. Bir örnek vermek gerekirse; vodafone dan fatura bilgilerinin text olarak bize geldiğini ve bizimde bu bilgiyi VodafoneMembers adlı koleksiyona yüklediğimizi düşünelim.Sonraki aşamada bu kolleksiyon içinde dönüp her kayıt için sqlcommand la içeri aldığmızı varsayalım. Bu işlem için database'de aşırı yük oluşturduğu için sonlanması çok uzun sürecektir.




4016 Dim cmd As New SqlCommand("INSERT INTO Invoices (PhoneNumber, NameSurname, Amount)" & _

4017 "VALUES (@PhoneNumber, @NameSurname, @Amount)", SqlCnn)

4018 Dim XPPhoneNumber As SqlParameter = cmd.Parameters.Add("@PhoneNumber", SqlDbType.NVarChar)

4019 Dim XPNameSurname As SqlParameter = cmd.Parameters.Add("@NameSurname", SqlDbType.NVarChar)

4020 Dim XPAmount As SqlParameter = cmd.Parameters.Add("@Amount", SqlDbType.Decimal)

4021 For Each V As VodafoneMember In _VodafoneMembers

4022 XPPhoneNumber.Value = V.PhoneNumber

4023 XPNameSurname.Value = V.Description

4024 XPAmount.Value = V.Amount

4025 Try

4026 If SqlCnn.State = ConnectionState.Closed Then

4027 SqlCnn.Open()

4028 End If

4029

4030 cmd.ExecuteNonQuery()

4031 Catch ex As Exception

4032 Finally

4033 If SqlCnn.State = ConnectionState.Open Then

4034 SqlCnn.Close()

4035 End If

4036

4037 End Try

4038 Next




Bu işlem için diğer yöntem ise bunu sqlbulkcopy class'ı ile veritabanına almaktır.Bu şekilde veritabanından sqlcommand a göre çok yüksek performanslar alabiliriz. Aşağıdaki örnekte yeni bir datatable oluşturarak bunu sqlbulkcopy classına yükledik. SqlBulkCopy Classının ConnectionTimeOut özelliği programımızın işlemden beklenen geri dönüş süresidir. Bunu 0 getirmek işlem bitene kadar programızın bekleyeceğini belirtmektedir. Çok büyük dataların veritabanına alınırken bu özelliğin 0 (infinity) alınması tavsiye edilmektedir.




4061 Dim DtT As New DataTable("Invoices")

4062 DtT.Columns.Add(New DataColumn("PhoneNumber"))

4063 DtT.Columns.Add(New DataColumn("NameSurname"))

4064 DtT.Columns.Add(New DataColumn("Amount"))

4065 Dim O() As Object

4066 For Each V As VodafoneMember In _VodafoneMembers

4067 ReDim O(2)

4068 O(0) = V.PhoneNumber

4069 O(1) = V.NameSurname

4070 O(2) = V.Amount

4071 DtT.Rows.Add(O)

4072 Next

4073 Using bulkCopy As SqlClient.SqlBulkCopy = New SqlClient.SqlBulkCopy(SqlCnn)

4074 If SqlCnn.State = ConnectionState.Closed Then

4075 SqlCnn.Open()

4076 End If

4077 bulkCopy.DestinationTableName = "dbo.Invoices"

4078 bulkCopy.BulkCopyTimeout = 0

4079 Try

4080 bulkCopy.WriteToServer(DtT)

4081 Catch ex As Exception

4082 MsgBox(ex.Message)

4083 Exit Sub

4084 Finally

4085 If SqlCnn.State = ConnectionState.Open Then

4086 SqlCnn.Close()

4087 End If

4088 End Try

4089 End Using

SqlBulkCopy class ını çok büyük bilgi aktarımlarında kullanmak daha yüksek performans almamızı sağlar. Basit bilgi aktarımlarında sqlcommand kullanılması tavsiye edilmektedir.

Kadere İnanmak

Dün gece hiç uykum yoktu. Yatağıma uzandım ve düşünmeye başladım. Neredeyim ne yapıyorum. Nasıl geçti bu kadar zaman. Daha dün gibi hatırlıyorum ÖSS sınav sonuçlarını elime aldığım zamanı. meslek lisesi (İHL) mezunu biri olarak gelecekten çokta ümitli değildim açıkçası. Yakın arkadaşlarımdan birinin tavsiyesi üzerine Kıbrıs Yakın Doğu Üniversitesi’ne İstanbul’daki ofislerinden kayıt oldum.Kıbrıs 'a gelip Doğu Akdeniz Üniversitesi ’ ni gördüğümde İstanbul’dan üniversiteye kayıt olduğuma pişman oldum. Üniversitede bir arkadaşla tanışmam ve onun aracılığıyla Kaner Holding’e girmem benim için dönüm noktası oldu. Sonra tam İstanbul’ a dönmek için niyetlenmişken İktisatbank ‘ a girmem ve bugünlere gelmem ,hepsini düşündüğümde gerçekten kader inancımı daha da kuvvetlendiriyor. Belki DAÜ ‘ ye gitsem İstanbul ‘ a dönüp farklı yollarda koşturacaktım :).

İnsanların aslında yaptığı tüm seçimler geleceğini etkileyebiliyor. İnsan başına kötü bir olay geldiğinde asla hayata küsmemeli ve aksine daha da fazla asılmalı. Her karanlık gecenin sonu sabahtır. Her insanın kader çizgisi var ve “Herşeyin hayırlısı Allah’tan” diyerek uyku moduna geçiyorum.
Herkese iyi uykular :)

WPF Toolkit June 2009 Release

Microsoft 'un Açık kaynak kodlu projelerin bulunduğu Codeplex WPF ve Silverlight için yeni toolkit 'ini yayınladı.Buradan indirebilirisiniz
  • Toolkit'te
  • DataGrid
  • DatePicker
  • Calendar
  • VisualStateManager

yanısıra Chart kontrolu de eklendi. İleri ki günlerde bununla ilgil küçük bir örnek proje yayınlayacağım. Microsoft .NET Framework 3.5 Service Pack 1 + VS2008 makinanızda yüklü olması gerkiyor.

İyi çalışmalar

Blogdaki Kodları Visual Studio'daki Gibi Gösterme (CopySourceAsHtml)

Blogtaki yayınlanacak kodlar için visual studiodaki görüntüyü nasıl elde ederim diye internette şöyle bir arama yaptırdım. Kullanımı gayet basit kullanışlı bir ücretsiz tool buldum ve sizlerle paylaşmak istedim. VS 2003, VS 2005 ve VS 2008 versiyonu bulunan tool kurulumdan sonra seçtiğiniz kod kısmınını üzerinde mouse ' un sağ butonuna basıyorsunuz. Seçeneklerden Copy As Html'i seçiyorsunuz. İstediğiniz yere yapıtıryorsunuz. İşte bu kadar basit ;))


İyi günler iyi çalışmalar.