2006-12-26

Veri Erişimi

  • DataReader nesnesi veri kümeleri üzerinde yanlız okunabilir ve sadece ileri yönlü okuma sağlar.
  • DataReader nesnesini new metodu ile oluşturulamaz.
  • Bir DataReader nesnesi sadece tanımlanabilir.

  • Bir DataAdapter nesnesi ile, bağlantısız katmandaki değişiklikler veri kaynağına yansıtılır.
  • SQL server için olan SQLDataAdapter ile SQL server ile daha hızlı çalışabilirsiniz.
  • DataAdapter nesnesinin Fill metodu kullanılarak bir Dataset üretilebilir.

  • Dataset teknolojisi XML tabanlı olarak çalışmaktadır.
  • Dataset'e doldurduğunuz verileri WriteXml ile XML formatında kaydedebilirsiniz.

  • Offline tablodaki verileri süzmek yada sıralamak için DataTable sınıfının Select metodu kullanılır.

  • Command'ın ExecuteScalar metodu sadece tek bir kolon ve satırı geriye döndürür.

  • ADO.NET ve SQL Server ikilisi ile hem DB transaction hem de Connection Transaction yapmak mümkün.
  • Ado.Net doğrudan XML desteğine sahiptir.

  • Connection nesnesini Open metodunu kullanmadan önce Connectionın durumunu kontroledin.

  • Veritabanı olarak SQL Sever kullanıyorsanız SqlException ' la dönen hatayı birebir alabilirsiniz.

Web Servisleri

  • Web Servisleri web üzerinde değişik platformları birbiri ile konuşturmaya yarar.
  • WSDL, Servis tarafından istemciye sunulan anlaşma ve tanım bilgisidir.
  • WSDL (Web Services Description Language), XML tabanlıdır.
  • Web servis uygulamalarınızda 'soap header' kullanarak kimlik denetimi yapabilirsiniz.
  • Web Servislerinin olanaklarını daha iyi kullanabilmeniz için HTTP yerine SOAP kullanınız.
  • Web Servisinde bir değişiklik olduğunda buraya bağlanan programların da güncellenmesi gerekir.

Hürriyet

Her şeyin bir bedeli var. Boynum birisinin yanında bükük olacağına varsın aç susuz kalayım!

Session

  • Bir nesneyi Session nesnesine aktararak daha sonra erişebiliriz.
  • Session sona erdiğinde Session'a aktarılan nesneler Garbage Collector tarafından ortadan kaldılır. Programlarınızda gerektiğinde manuel olarak ta "GarbageCollector" çağırabilirsiniz.

Konuya Yabancılık

İnsan yabancıyı evine misafir etti mi yabancının yabancılığı kalmaz:)

MSIL

.NET kodları MSIL (Microsoft Intermediate Language) assembly diline dönüştürür.

ATLAS:AlwaysVisibleControl

Atlas ile birlikte gelen AlwaysVisibleControl aracı sayfanın içeriği değiştiğinde, yeniden boyutlanlandığında kaydırma çubukları ile sayfa kaydırıldığında sürekli belirlediğimiz yerde duran bir araçtır. Sayfa yüklenirken flash kontrolüne yakalanmamak için kontrolün pozisyonunu absolutely olarak belirlemeniz gerekir.

Özellikleri:
TargetControlID– Sürekli gösterilecek olan kontrolün ID’si
HorizontalOffset– Browserin yatay kenarından pixel olarak uzaklığı. Varsayılan olarak 0’dır.
HorizontalSide – Yatay olarak browser üzerindeki tarayıcının pozisyonunu belirler (Left, Center, yada Right) Varsayılanı Left’dir.
VerticalOffset– Browserin diket kenarından pixel olarak uzaklığı. Varsayılan olarak 0’dır.
VerticalSide– Dikey olarak browser üzerindeki tarayıcının pozisyonunu belirler (Top, Middle, yada Bottom) Varsayılanı Top’dır.
ScrollEffectDuration– Kontrolün pozisyonunun değiştiğinde scroll efektinin süresinin uzunluğu. Varsayılan olarak 1 saniyedir.

Örnek:
<ajaxToolkit:AlwaysVisibleControlExtender ID="ace" runat="server"
TargetControlID="timer"
VerticalSide="Top"
VerticalOffset="10"
HorizontalSide="Right"
HorizontalOffset="10"
ScrollEffectDuration=".1" />

REPLICATE, STUFF

REPLICATE : Parametre olarak girilen karakter yada karakter dizilerini tekrarlı çoğaltmaya yarar.

Syntax
REPLICATE ( character_expression , integer_expression )

Örnek : REPLICATE('0',100) --100 adet 0 oluşturur.

STUFF : Belli uzunluktarı karakter dizisini silip yerine başka karakter yada karakter dizisi yazmaya yarar.

Syntax
STUFF ( character_expression , start , length , character_expression )

Örnek : STUFF('Mehhh GÜZEL', 4, 2, 'met')
İlk ifadedeki 4 karakterden itibaren 2 karakterin yerine 'met' yazar. Sonuç : 'Mehmet GÜZEL' olur.

2006-12-25

SQL Server Destekleri

Microsoft Vista işletim sistemiyle birlikte MS SQL Server 2000 MSDE(tüm sürümleri), SQL Server 7.0 ve SQL Server 6.5 sürümlerine destek vermeyecek. SQL Server'ın bu sürümlerini kullanan yazılımcı arkadaşların veritabanlarını MS SQL Server 2005 sürümüne; eğer ücretsiz kullanmak istiyorlarsa MS SQL Server 2005 in Express sürümüne yükseltmeleri yararlı olacaktır.

SP ile Tablo Adı Değiştirme

İstersek tablo adlarımızı SP ile de aşağıdaki gibi değiştirebiliriz:
EXEC SP_RENAME 'EskiTabloAdi', 'YeniTabloAdi'

Bir tablodaki alan adını aşağıdaki gibi değiştirebilirsiniz:
EXEC SP_RENAME 'TabloAdi.AlanAdi', 'YeniAlanAdi','COLUMN'


SP müzün sözdizimi:
SP_RENAME [@objname=] 'object_name' , [@newname=] 'new_name'[, [@objtype=] 'object_type']

Veri İşleme Dili(DML)

Amaç: Bu makale ile SQL(Structure of Query Language)'in DML(Data Manuplation Language) komutlarından SELECT deyimini inceleyip, irdelemeye çalışacağız.

Veri işleme dili(kısaca DML) veritabanı içindeki verileri elde etmek, yeni veri eklemek, mevcut verileri değiştirmek ve silmekle ilgili SQL komutlarıdır. Bu deyimler aşağıdaki gibidir:

  • SELECT
  • INSERT
  • UPDATE
  • DELETE


DML verilerin nasıl tutulduğu ile ilgilenmez sadece var olan kayıtları görüntülemek, değiştirmek,silmek ve yeni kayıt eklemek için kullanılır.

Şimdi sırası ile bu komutların ne olduğunu; hangi ifadeler ile birlikte kullanılabileceğini; sonuç olarak ne döndürdüklerini irdelemeye çalışalım.

SELECT KOMUTU:
Bu deyim veritabanından satırları getirme ve bir yada birden çok tablo(table) veyahut view'dan bir yada birden çok satır(row) veya sütun(column)ün seçilmesine izin verir. Kısaca verileri görmenin en sıkı kullanılan yöntemidir.
Genel Yapısı:
SELECT ifadesinin söz diziminin tam şekli oldukça karmaşıktır. Bununla birlikte en çok kullanılan şekli aşağıdaki gibidir:
SELECT [ DISTINCT ] [ TOP sayi TOP sayi PERCENT ] secim_listesi [ INTO yeni_tablo ]
FROM kaynak_tablo
[ WHERE arama_kriterleri ]
[ GROUP BY gruplama_ifadeleri ]
[ HAVING arama_kriterleri ]
[ ORDER BY sıralama_ifadeleri [ ASC DESC ] ]

Merak edenler için SELECT deyiminin tam söz dizimi aşağıdaki gibidir:
SELECT statement ::= <> [ ORDER BY { order_by_expression column_position [ ASC DESC ] } [ ,...n ] ] [ COMPUTE { { AVG COUNT MAX MIN SUM } ( expression ) } [ ,...n ] [ BY expression [ ,...n ] ] ] [ FOR { BROWSE XML { RAW AUTO EXPLICIT } [ , XMLDATA ] [ , ELEMENTS ] [ , BINARY base64 ] } ] [ OPTION ( <> [ ,...n ]) ]
<> ::= { <> ( <> ) } [ UNION [ ALL ] <> ) [...n ] ]
<> ::= SELECT [ ALL DISTINCT ] [ { TOP integer TOP integer PERCENT } [ WITH TIES ] ] <> [ INTO new_table ] [ FROM { <> } [ ,...n ] ] [ WHERE <> ] [ GROUP BY [ ALL ] group_by_expression [ ,...n ] [ WITH { CUBE ROLLUP } ] ] [ HAVING <> ]

Örnek: SELECT * FROM GIDER ile Gider tablomuzdaki tüm kayıtları görüntüleyebiliriz. Burda *(asteriks) ile tüm alanları gösteriyoruz. Gider tablomuzdaki Kod ve Aciklama alanları vardı. Yukarıdaki ifade yerine
SELECT Kod, Aciklama FROM GIDER
ifadesi ile de aynı şeyleri görüntüleyebiliriz. Tablomuzdaki veriler aşağıdaki gibi olsun.



SELECT ifadesi istenilen tablodan istenildiği kadar alan seçilebilir. Örneğin sadece Gider Açıklamlarına ihtiyacımız olsaydı bunu için yazacağımız SQL kodu aşağıdaki gibi olurdu:
SELECT Aciklama FROM GIDER

Yeri gelmişken FROM ifadesinin niçin kullanıldığını açıklayayım. FROM ile hangi tablo yada tablolardan verilerimizi çekeceğimizi belirliyoruz.

Bir tablo içerisinde belirli kayıtları ararken aşağıdaki arama operatörlerinden faydalanırız:
  1. Karşılaştırma Operatörleri : =, <>, !=, <, >, >=, <=, !>, !<
  2. Aralık belirtme : BETWEEN, NOT BETWEEN
  3. Liste içerisinde : IN, NOT IN
  4. String benzerliği : LIKE , NOT LIKE
  5. Bilinmeyen Değerler : IS NULL, IS NOT NULL
  6. Oluşsuzlaştırma : NOT

VERİLERİ SIRALAMAK(ORDER BY):

Seçilen veriler istenilirse sıralanabilir. Sıralama bir yada birden çok alana göre yapılabilir. Sıralama ASC artan yada DESC azalan sırada yapılabilir. Alanlar arasına hernagi bir şey yazılmadığı zaman default ASC'dir. Hatırlatmakta yarar var: Bir sorgu içerisinde sıralama birden çok alana göre artan aynı şekilde birden çok alana göre de azalan olabilir.

Örnek: PERSONEL tablosunu Adi ve Soyadi artan, maaşı azalan olacak şekilde görüntüleyelim:

SELECT * FROM PERSONEL
ORDER BY ADI, SOYADI ASC, MAAS DESC

.::YASAL UYARI::.

©2004-2025 Mehmet GÜZEL, www.mehmetguzel.net

Site içeriği kaynak gösterilmek koşuluyla yayınlanabilir. Yazılan yazı ve yorumlar sadece yazı ve yorum sahiplerini bağlar.