Translate

17 Aralık 2018 Pazartesi

C# Temel Veri Türleri

C# dilinde temel olarak veri tipleri ikiye ayrılırlar. Bunlar; önceden tanımlanmış veri türleri ve kullanıcı tarafından tanımlanmış veri türleridir. Önceden tanımlanmış veri türleri de kendi arasında referans tipi ve değer tipi olmak üzere ikiye ayrılır.
Değişkenler
Değişkenler, içinde farklı türlerde veri saklayabileceğimiz bellek alanlarının programlamadaki karşılığıdır. Tüm programlama dillerinde değişkenler kullanılmadan önce tanımlanmalıdır. Verilerin bellekte tutulması aşağıdaki bölgelerden birinde olmaktadır.
1. Stack Bölgesi
Stack bölgesi RAM'i temsil eder. Genel olarak önceden tanımlanmış veri tiplerinin çoğu burada tutulur. Stack bölgesine Stack Pointer ile doğrudan erişilebilir. Stack pointer o anda bellekte çalışan bölgenin adresini tutan yapıdır. Stack pointer, bellekteki alan tahsisatına göre bir azaltılır ya da bir arttırılır. Bu yüzden stack bölgesinde tutulacak olan verinin kapladığı alanın önceden bilinmesi zorunludur.
2. Heap Bölgesi
Bu bölge de RAM'de bulunan hafıza alanıdır. C#'daki bütün nesneler burada oluşturulur. Bu bölgede tahsisatı yapılacak nesnenin önceden tanımlanmış olması gerekmemektedir. Heap bölgesinde tanımlanan veriler dinamik olarak oluşturulduğu için programlarda çok büyük esneklik avantajı sağlar. Ancak bu avantajının yanı sıra Stack bölgesine göre işlem hızı daha yavaştır.
3. Static Bölge
Bellekteki herhangi bir sabit bölgeyi temsil eder. Bu alanda saklanan veriler program çalışma süresince tutulur.
4. Sabit Bölge
Sabit değerler genelde programın içerisinde gömülü şekildedirler. Bu tip değerlerin değişmesi mümkün değildir. Sadece okuma amaçlı oldukları için bazı durumlarda ROM'da saklanabilmektedir.
5. RAM Olmayan Bölge
Bellek bölgesi olmayan diğer tüm bölgeleri temsil eder. Sabit disk, CD, DVD, Flash Disk vs.
Değişken Tanımlama
C#'da tüm nesneler aşağıdaki şekilde tanımlanırlar.
1
<veri türü> <isim>;
Örneğin 32 Bitlik işaretsiz tamsayı türü olan "uint" tipinde, "x" adında bir değişken tanımlamak istersek:
1
uint x;
yazabiliriz. Ancak tanımlanan değişkende herhangi bir değer tutulmamaktadır. Bu yüzden C# bize bu şekilde tanımladığımız bir değişkeni kullanmamıza izin vermez. Değişkenlere değer atama iki şekilde yapılır.
1. Değişken tanımlanırken değerinin de bildirildiği durum
 
2. Değişken tanımlamasının yapılıp değerinin sonradan bildirildiği durum
1
2
uint x;
x=50;
Eğer bir satırda birden fazla değişken tanımlamak istersek aralarına virgül koyarak işlemi gerçekleştirebiliriz.
float x, y, z;
Değişkenlerin Adlandırılması
1. Değişken isimlerinde büyük küçük harf duyarlılığı vardır. "tbt" ile "TBT" C# için farklıdır.
1
2
3
4
5
int tbt, TBT;
tbt=10;
TBT=9;
Console.WriteLine(tbt);
Console.WriteLine(TBT);
yazıp programımızı derlediğimizde ekrana iki farklı değer yazdığını görebiliriz.
2. Değişken isimleri numaralar ile başlayamaz ve içerisinde boşluk bulunduramaz. Değişken ismi harf ile başlamalıdır ancak ondan sonra gelen karakter numara olabilir. Örneğin
int tbt1;
bool x5;
şeklindeki tanımlamalar doğrudur.
Değişkenlerin Faaliyet Alanı
C#'da programlar açılan kapanan parantezler içerisine yazılır. Bu açılan kapanan parantezlere blok adı verilir. Bir değişkene, sadece tanımlandığı blok içerisinden erişilebilir. Örnek üstünde açıklamak gerekirse :
1
2
3
4
5
6
7
8
9
{ // Birinci Blok
  int a=5;
  { //İkinci Blok
  int b=3;
  }
  { // Üçüncü Blok
  int b=3;
  }
}
Birinci blok içerisinde tanımlanan a değişkenine hem ikinci bloktan hem de üçüncü bloktan erişebiliriz. Aynı şekilde ikinci ve üçüncü blokların içerisinde a adında bir değişken tanımlamak hataya sebep olacaktır. Ancak burada bir farklılık var. İkinci blok ve üçüncü blok içerisinde yer alan b adlı değişkenler isimlerinin aynı olmasına karşın hata vermezler. Çünkü ikinci ve üçüncü bloklar birbirlerini kapsamadıkları için ikinci bloktaki ve üçüncü bloktaki b değişkenleri hafızanın farklı bölgelerinde saklanırlar. Birinci bloktan b değişkenine erişmek de mümkün değildir.
Sabit İfadeler
Bir program boyunca değerinin değişmeyeceğini düşündüğümüz verileri tanımlarken "const" anahtar sözcüğü kullanarak tanımlarız. "const" olarak tanımlanan değişkenlerin en büyük avantajı programın herhangi bir yerinde değerini değiştirmeye kalktığımızda hata vermesidir. Bu sayede değişkenimizin değerinin hep sabit olduğundan emin oluruz.
1
const double e = 2.71828;
şeklinde tanımlayabiliriz. Aynı şekilde sabitlere ilk değer verilirken yine sabitler kullanılmalıdır.
1
2
3
int a = 3;
int b = 5;
const int c = a+b;
şeklindeki bir tanımlama da geçerlidir. Ancak sabitlerden herhangi birinin değeri değiştirilirse program hata verecektir. Örneğin:
int a = 3;
a = a + 1;
int b = 5;
const int c = a + b;
şeklindeki bir ifade hatalıdır. Çünkü a değişkeni sabitliğini yitirmiştir. Sabit ifadeler ile ilgili uymamız gereken üç kural vardır.
1. Sabitler tanımlandıklarında değerleri atanmalıdır. İlk değer verilmeyen değişlenler const olamazlar.
2. Sabit ifadelere ancak sabit ifadeler ile ilk değer atanabilir.
3. Sabit ifadeler tasarım olarak zaten statik oldukları için ayrıca statik olarak belirtmek hataya yol açacaktır.
Değer Tipleri
Değer tiplerinde bir nesnenin değeri her zaman direkt saklanır. Aşağıdaki gibi bir atama yapıldığında x ve y değişkenleri birbirinden bağımsız olarak 5 değerini tutarlar. x değişkenindeki bir değişim asla y değişkenini etkilemez.
1
2
3
int x = 5;
int y;
y= x;
Değer tipi değişkenlerine ilk değer verilmesi iki şekilde yapılabilir.
1. İlk değer programcı tarafından atanarak:
1
int tbt = 0;
2. İlk değer nesnenin varsayılan yapıcı işlevi çağırılarak yapılır.
1
int tbt = new int();
Her bir tip için varsayılan bir ilk değer vardır. Bu ilk değerler aşağıdaki tabloda verilmiştir.
Veri Tipi Varsayılan İlk Değer
bool false
byte 0
char '\0'
decimal 0.0m
double 0.0d
enum enum sabitindeki ilk değer
float 0.0f
int 0
long 0L
sbyte 0
short 0
struct Yapı nesnesindeki bütün değerler varsayılan değere, referans tipleri ise null değere atanır
uint 0
ulong 0
ushort 0
byte Veri Türü
byte bilgisayarda 8 bitlik bir bilgiyi saklamak için kullanılır. İşaretsiz bir veri türüdür ve sadece pozitif sayıları tutabilir. Alacağı değer 0 ile 255 aralığındadır.
sbyte Veri Türü
sbyte veri türü byte veri türü gibi 8 bitlik bir veri türüdür. Ancak işaretli bir veri türü olduğu için alabileceği değer -128 ile 127 aralığındadır.
short Veri Türü
short veri türü 16 bitlik işaretli tamsayı veri türüdür. Alabileceği değer -32,768 ile 32,767 aralığındadır.
ushort Veri Türü
ushort veri türü 16 bitlik işaretsiz tamsayı veri türüdür. Alabileceği değer 0 ile 65,535 aralığındadır.
int Veri Türü
int veri türü 32 bitlik işaretli tamsayı veri türüdür. Alabileceği değer -2,147,483,648 ile 2,147,483,647 aralığındadır.
uint Veri Türü
uint veri türü 32 bitlik işaretsiz tamsayı veri türüdür. Alabileceği değer 0 ile 4,294,967,295 aralığındadır.
long Veri Türü
long veri türü 64 bitlik işaretli tamsayı veri türüdür. Alabileceği değer -9,223,372,036,854,775,808 ile 9,223,372,036,854,775,807 aralığındadır.
ulong Veri Türü
ulong veri türü 64 bitlik işaretsiz tamsayı veri türüdür. Alacağı değer 0 ile 18,446,744,073,709,551,615 aralığındadır.
float Veri Türü
float veri türü 32 bitlik gerçek sayı veri türüdür. "f" ya da "F" son ekini alarak tanımlanırlar. Alacağı değer ± 1.5 * 10-45 ile ± 3.4 * 1038 aralığındadır.
1
2
float x = 1.8f;
float x = 1.8F;
tanımlamaları arasında hiçbir fark yoktur. "f" ya da "F" son eki konulmadığı durumda değer otomatik olarak double veri türü kabul edilir ve hata alınır.
double Veri Türü
double veri türü 64 bitlik gerçek sayı veri türüdür. "d" ya da "D son ekini alarak da tanımlanabilir. Eğer son ek yazılmazsa sistem otomatik olarak double veri türünde kabul edecektir. Alacağı değer ± 5 * 10 -324 ile ± 1.7 * 10308 aralığındadır.
1
2
3
double x = 1.8;
double x = 1.8d;
double x = 1.8D;
tanımlamaları arasında hiçbir fark yoktur.
decimal Veri Türü
decimal veri türü 128 bitlik gerçek sayı veri türüdür. "m" ya da "M" son ekini alarak tanımlanırlar. Alacağı değer 10-28 ile 7.9 * 1028 aralığındadır.
1
2
decimal x = 1.8m;
decimal x = 1.8M;
tanımlamaları arasında hiçbir fark yoktur. "m" ya da "M" son eki konulmadığı durumda değer otomatik olarak double veri türü kabul edilir ve hata alınır.
bool Veri Türü
"true" ya da "false" değerleri saklamak için kullanılan veri türüdür. True ya da False değeri atanabileceği gibi karşılaştırma operatörlerinin oluşturduğu ifadeler de atanabilir.
1
2
3
bool x = true;
bool y = false;
bool z = 3 < 5;
char Veri Türü
char veri türü 16 bit uzunluğunda Unicode standartlarındaki karakterleri temsil etmek için kullanılır.
1
2
3
char x = 'A';
char y = '\x0058';
char z = (char)45;
Referans Tipleri
C# dilinde önceden tanımlanmış iki adet referans tipi veri türü bulunur. Bunlar string ve object veri türleridir. Object veri türü C# dilindeki bütün türlerin türediği veri tipidir.
string Veri Türü
string veri türü Unicode karakterlerden oluşan bir dizi gibi düşünülebilinir.
1
2
string x = "tahribat.com";
string y = "HolyOne";
Özel anlamlar ifade eden karakterler kullanmak istiyorsak bunları "\" karakteri ile belitmemiz gerekir ya da string ifadesinin önüne "@" işareti konulur.
1
2
string path = "c:\\windows\\";
string path = @"c:\windows\";
şeklindeki tanımlamaların ikisi de doğrudur.
object Veri Türü
object veri türü C#'da bulunan tüm veri türlerinin türediği veri türüdür. Bu yüzden tüm değerler ve nesneler object türünden bir değişkene atanabilir. Nesnelerin object türüne dönüştürülmesine boxing denilmektedir. Tür dönüşümü konusunda daha detaylı inceleyeceğiz.

jQuery Event Methods


Event methods trigger or attach a function to an event handler for the selected elements.
The following table lists all the jQuery methods used to handle events.

Method / PropertyDescription
bind()Deprecated in version 3.0. Use the on() method instead. Attaches event handlers to elements
blur()Attaches/Triggers the blur event
change()Attaches/Triggers the change event
click()Attaches/Triggers the click event
dblclick()Attaches/Triggers the double click event
delegate()Deprecated in version 3.0. Use the on() method instead. Attaches a handler to current, or future, specified child elements of the matching elements
die()Removed in version 1.9. Removes all event handlers added with the live() method
error()Removed in version 3.0. Attaches/Triggers the error event
event.currentTargetThe current DOM element within the event bubbling phase
event.dataContains the optional data passed to an event method when the current executing handler is bound
event.delegateTargetReturns the element where the currently-called jQuery event handler was attached
event.isDefaultPrevented()Returns whether event.preventDefault() was called for the event object
event.isImmediatePropagationStopped()Returns whether event.stopImmediatePropagation() was called for the event object
event.isPropagationStopped()Returns whether event.stopPropagation() was called for the event object
event.namespaceReturns the namespace specified when the event was triggered

16 Temmuz 2012 Pazartesi

HUGO OYUNLARI TARİHÇESİ


Sanıyorum aramızda “Hugo” karakterini tanımayanınız yoktur. Özellikle doksanlı yıllarda Show TV’de gösterime başlayan televizyon oyunu programı “Hugo ve Tolga Abi” programıyla gönüllerimizde taht kurmuş bir hayali maceraperest çizgi kahramandır Hugo..
Bu web sitesi ise, Hugo oyunlarını tek çatı altında toplamak amacıyla kurulmuş. Ayrıca Hugo oyunları dışında binlerce eğlenceli ve bir o kadar da kaliteli oyunu düzenli ve kaliteli bir şekilde ziyaretçilerine sunmayı amaçlıyor.
Günümüzde, internette onbinlerce oyun oyna sitesi olduğunu düşünecek olursak, bu piyasa içerisinde gerekli mevkilere yükselebilmesi için ziyaretçilerinin desteğini alması şart. Bizde bu konuda bu ekibe destek vermek istedik…
Dediğimiz gibi özellikle doksanlı yılların gençliğinin gönüllerinde çok farklı bir yeri olan Hugo karakteri ve Hugo oyunları , günümüz gençliği tarafından da fazlasıyla bilinmekte ve sevilmektedir.
Hugo’yu Türkiye’ye ilk olarak “Hugo ve Tolga Abi” programı ile tanıdı.. Bu program bir çeşit televizyon oyunuydu diyebiliriz. Hugo oyunları oldukça zorlu engellerle dolu oyunlardı ve bu oyunlar telefon tuşları ile oynanmaktaydı. Yarışmaya katılan kişileri, Tolga abi karşılar, küçük bir konuşma geçer ve ardından Hugo oyunlarından birini seçmesi istenirdi.

devamı için HER GÜN YENİ BİR BİLGİ  tıklayın

13 Temmuz 2012 Cuma

Formspring Şifreleri Çalındı


Kullanıcıların birbirlerine sorular sorarak cevapladığı popüler sosyal ağ Formspring, dün bir hacker saldırısına uğradı.
 
Resmi blogdan yapılan açıklamada dün sabah bir güvenlik açığının meydana geldiği ve bazı kullanıcı şifrelerinin çalınmış olabileceği dile getirildi. Sorun çözülene kadar tüm şifreler devre dışı bırakıldı ve kullanıcılardan şifrelerin değiştirilmesi istendi.
 
Bazı çevreler 26 milyon şifrenin çalınmış olabileceğini belirtiyor. 
 
Formspring ise bir güncelleme yaparak olayın perde arkasını anlattı. Bilgilere göre 420 000 şifre, bir güvenlik forumunda ortaya çıktı ve bunların Formspring şifresi olabileceğinden şüphelenen bir kullanıcı yetkilileri haberdar etti. Forumda kullanıcı adlarının paylaşılmadığı belirtiliyor.
 
Site şu anda login işlemlerini durdurdu ve sorunun nereden kaynaklandığını anlamaya çalışıyor. İhtimaller, geliştirici sunucusuna sızan hackerların şifreleri çalmış olabileceği üzerinde yoğunlaşıyor. Formspring, derhal açığı kapatarak güvenlik protokollerini devreye sokmuş. 
 
Sistem normale döndüğünde ise kullanıcılardan email yoluyla şifrelerini değiştirmesi istenecek.

9 Temmuz 2012 Pazartesi

Tek Elle Çoklu Dokunmatik Kullanmak


Calgary Üniversitesi tarafından hazırlanan Fat Thumb (Şişman baş parmak) adlı uygulama, dokunmatik ekranlı akıllı telefonların çoklu dokunma özelliğini tek elle kullanmak için müthiş bir kolaylık sağlıyor.
Bu uygulama sayesinde baş parmağınızın ekran yüzeyindeki genişliğini arttırarak (yani parmağınızı daha geniş basarak) çoklu dokunma özelliğini aktif hale getirebiliyorsunuz. Bu sayede tek parmakla zum yapma imkanına kavuşuyorsunuz. Fat Thumb'ın tanıtım videosunu aşağıdan izleyebilirsiniz. Bakalım bu fikri beğenecek misiniz...

4 Temmuz 2012 Çarşamba

Mozilla, Firefox OS Için Görüşmelere Başladı


 
Mozilla, üzerinde çalıştığı Boot to Gecko adındaki HTML5 tabanlı mobil işletim sistemi için operatörlerle görüşmelere başladığını duyurdu.
 
Mozilla yeni işletim sisteminin adını Firefox OS şeklinde değiştirmiş. Mozilla; Deutsche Telekom, Etisalat, Smart, Sprint, Telecom Italia, Telefonica ve Telenor gibi farklı ülke operatörleriyle ortaklık görüşmelerine başladı. Operatörlerin de desteğini arkasına alan Mozilla, platformlar arasında açık webstandartları tecrübesi inşa ederek, maliyetleri düşürmeyi planlıyor.
 
Mozilla mobil ekosistemini tamamen açık kaynak ve HTML5 tabanlı olmasını istiyor. TCL ve ZTE firmaları, Snapdragon işlemcisini temel alan ilk Firefox OS cihazlarını üretmek istediklerini açıkladı. İlk Firefox OS telefonları 2013 yılında Brezilya'da Telefonica tarafından piyasaya sürülecek.
 
İnternet dünyasına açık kaynak tarayıcısı ile yeni bir anlayış kazandıran Mozilla, mobil işletim sistemi ile bu anlayışı mobil dünyasında devam ettirmek istiyor. 

28 Haziran 2012 Perşembe

Ado.Net 2.0 ve Toplu Güncelleme İşlemleri (Batch-Updates),Mars


Toplu güncelleştirme işlemleri, birden fazla sql ifadesinin (insert,update,delete,select gibi) arka arkaya gelecek şekilde ancak tek bir seferde çalıştırılmasını baz alan bir tekniktir. Ado.Net 2.0 ile, toplu güncelleştirme işlemlerine daha fazla fonksiyonellik kazandırılmıştır. Bu koşul elbetteki toplu güncelleştirme işlemlerini destekeleyen veritabanı sunucuları üzerinde geçerli olmaktadır. Şu an için, yönetimsel kodda yer alan Oracle ve Sql nesnelerinin desteklediği bu fonksiyonelliği kazanmak için aşağıda prototipi verilen ve SqlDataAdapter yada OracleDataAdapter sınıflarına ait olan, UpdateBatchSize özelliği kullanılmaktadır.
public override int UpdateBatchSize {get;set;}
Bu özellik bir anlamda, DataAdapter nesnesinin Update komutu ile veritabanına doğru yapılacak güncelleme işlemlerinin toplu olarak hangi periyotta gerçekleştirileceğini belirtir. Örneğin, 1 varsayılan değeridir ve her bir güncelleme işleminin (insert,update veya delete) her satır için ayrı ayrı yapılacağını belirtir. Daha derin düşünecek olursa, örneğin Sql Sunucusunda yer alan sp_executesql stored procedure' ünün her bir satır için birer kez ilgili komutu (Insert gibi) çalıştıracağını belirtir.
Diğer yandan, bu özelliğe 0 değerini verdiğimizde tüm güncelleme işlemleri tek bir seferde gerçekleştirilir. Bir başka deyişle veritabanına doğru n sayıda güncelleme işlemi varsa, Sql Sunucusunda yer alan sp_executesql stored procedure' ü bu n sayıdaki işlemleri içeren toplu bir komut kümesini tek bir seferde çalıştırılacaktır. Ayrıca UpdateBatchSize özelliğine 0 ve 1 haricinde verilecek olan pozitif değerler, her bir toplu güncelleştirme işleminin kaç iç komut içereceğini belirtmektedir. Konuyu daha kolay bir şekilde anlayabilmek için basit bir Console uygulması geliştirelim.
#region Using directives

using System;
using System.Collections.Generic;
using System.Text;
using System.Data;
using System.Data.SqlClient;

#endregion

namespace BatchUpdates
{
    class Program
    {
        static void Main(string[] args)
        {
            SqlConnection con = new SqlConnection("data source=localhost;initial catalog=AdventureWorks;integrated security=SSPI");
            SqlDataAdapter da = new SqlDataAdapter("SELECT * FROM MailList", con);
            DataTable dt = new DataTable();
            da.Fill(dt);

            DataRow dr;
            for (int i = 1; i <= 5; i++)
            {
                dr = dt.NewRow();
                dr["AD"] = "AD_" + i.ToString();
                dr["SOYAD"] = "SOYAD_" + i.ToString();
                dr["MAIL"] = "MAIL_" + i.ToString();
                dt.Rows.Add(dr);
            }
            da.UpdateBatchSize = 1;
            SqlCommandBuilder cm = new SqlCommandBuilder(da);
            da.Update(dt);
            Console.WriteLine("İŞLEMLERİN SONU");
            Console.ReadLine();
        }
    }
}
Bu uygulamada Ado.Net 1.1 ile yapabildiğimiz işlemlerden farklı bir şey yoktur. Yukon üzerinde yer alan MailList tablomuza SqlDataAdapter nesnesi vasıtasıyla 5 adet satır giriyoruz. Bizim için önemli olan UpdateBatchSize değerinin 1 olarak belirtilmesidir. Uygulamamızı çalıştırmadan önce, Sql Profiler aracını kullanarak yeni bir Trace başlatalım ve Sql Sunucumuzda gerçekleşen işlemleri izlemeye çalışalım. Trace' imiz çalışırken uygulmamamızı yürütecek olursak, Sql Sunucusu üzerinde aşağıdaki olayların gerçekleştirildiğini görürüz.
Şekil 1. UpdateBatchSize değeri 1 olduğunda.
Dikkat edecek olursanız, sp_executesql stored procedure' ü girilen her satır için insert komutunu birer kez çalıştırmıştır. Bunun nedeni UpdateBatchSize özelliğinin 1 değerine sahip olmasıdır. Eğer bu değeri 0 yapıp tekrar çalıştırırsak, bu takdirde kaç satır girersek girerlim tüm satırlar için geçerli olan insert komutları tek bir toplu-komut olarak işlenecek ve tek bir seferde çalıştırılacaktır. Örnek olarak, döngümüzün değerini 20 satır insert edilecek şekilde ayarladığımızı düşünürsek, UpdateBatchSize özelliğine 0 değerini vermek ile, 20 satır için parametre alacak tek bir stored procedure' ü çağırmış oluruz. Uygulamamızda bu kez tüm satırları update ettiğimizi düşünelim ve UpdateBatchSize özelliğine 0 değerini verelim.
for (int i = 0; i < dt.Rows.Count; i++)
{
    dr = dt.Rows[i];
    dr["AD"] ="_DEGISTI";
}

da.UpdateBatchSize = 0;
Şimdi Sql Profiler' da Trace' imizdeki işlemlere bakacak olursa, kaç satır güncellenmiş ise her bir satır için yapılan update işlemlerinin tek bir toplu-komut kümesinde gerçekleştirildiğini görürüz.
Şekil 2. UpdateBatchSize özelliğine 0 değeri verildiğinde.
Elbette daha önceden bahsettiğimiz gibi UpdateBatchSize özelliğine 0 ve 1 haricinde pozitif değerlerde verebiliriz. Bu durumda toplu-komut kümeleri belirtilen sayı kadar iç komut içerecektir. Örneğimizde, UpdateBatchSize değerini 7 yaparsak, her bir sp_executesql çağrısında, içsel olarak 7 satırlık işlem içeren toplu-komut kümeleri olduğunu görürüz.
da.UpdateBatchSize = 7;
Şekil 3. UpdateBatchSize değerini pozitif her hangibir sayı olarak belirlediğimizde.
Örneklerdende görüldüğü gibi, Ado.Net 2.0 toplu-komut güncelleme işlemlerine daha fazla fonkisyonellik katmak amacıyla kullanışlı bir özellik kazanmıştır. Bazı durumlarda, güncelleme işlemlerinin bağlantısız katmandan, veritabanına doğru olan hareketlerinde toplu olarak yapılması network trafiğini olumlu yönde etkileyecek bir gelişmedir. Çünkü, tüm güncelleme hareketleri için veritabanına doğru sadece tek bir tur atılacaktır. Elbetteki devasa boyutlara sahip olan veri kaynakları üzerinde yapılacak büyük çaplı güncelleme işlemlerinde, toplu-komut kümelerini belirli sayılarda komut içerecek şekilde ayarlamakta performans açısından olumlu bir etki yaratacaktır.
Bu makalemizde, kısaca toplu-güncelleştirme (Batch-Update) işlemlerine değinmeye çalıştık. İlerleyen makalelerimizde, Ado.Net 2.0' ın yeni özelliklerine bakmaya devam edeceğiz. Bir sonraki makalemizde görüşmek dileğiyle hepinize mutlu günler dilerim.

Twitter Delicious Facebook Digg Stumbleupon Favorites More

 
Powered by Blogger | Printable Coupons