28 Mayıs 2008 Çarşamba

Microsoft Employee blogs

Evet bizlere bu kadar yenilikleri çıkartıp her geçen gün kod yazmayı daha kolay , anlaşılır ve zevkli hale getiriyorlar. Her zaman merak etmişimdir bunlar kimler diye msdn sitesinden bulduğum bazı developer lar ve bunların blog adreslerini paylaşmak istedim.
Bu arada .net ile proje geliştiren arkadaşlar msdn sitesini kullanın gerçekten bence microsoftun yapmış olduğu en iyi site. Her türlü kodların kullanımı ile ilgili bir sürü örnek kodlar mevcut.
Öncelikle Microsoft un developer bölümünün başı olan S. Somasegar ile başlamak istiyorum. Microsoftta nelerden sorumlu diye bakarsanız neredeyse kullandığımız microsoft ürünlerinden sorumlu. Adam hiç uyumuyordur herhalde Bill Gates den fazla işi varmış :D
S. Somasegar ile ilgili bilgilere buradan kendisiyle yapılan bir röportaja buradan
kendisinin bloğuna da S. Somasegar ulaşabilirisiniz
Scott Guthrie. Benim diğerlerine göre biraz daha tanıdığım ve çoğu kimsenin bildiği ve takip ettiği ASP.net developer larından bir isim.
Sara Ford. Adventures in sharing Microsoft source code.
Raymond Chen. Raymond Chen's blog focuses on practical development throughout the evolution of Windows.
Jensen Harris. An Office User Interface Blog by the Group Program Manager of the Microsoft Office User Experience Team.
Rob Mauceri. Learn about what's coming in Microsoft Office SharePoint Designer 2007 and Expression Web Designer.
Brad Adams. Design Guidelines, Managed code and the .NET Framework.
Michael Howard. A Simple Software Security Guy at Microsoft!
J.D. Meier. Software Engineering. Project Management. Effectiveness.
Ayrıca bir kaç blogu daha ekleyeyim.
Outlook Internet Explorer ve Windows Mobile

25 Mayıs 2008 Pazar

C# harddiske veri kaydetme

C# ta listView , listBox veya bunlara benzer kontrollerdeki veriler kolayca harddiske kaydedilir böylece uygulamanın tekrar açılışında veri kaybını önlemiş oluruz. İlk önce kaydedeceğimiz veriler bir class içinden alınıyorsa bu class a bi attribute eklememiz gerekiyor. class tanımlamadan önce namespace tanımlamasından sonra [Serializable] ekliyoruz.
Kullancağım değişkeni önce beilirteyim kisiler diye bir class tipinde dizi değişkenimiz var ve kaydetmek istediğimiz veriler bunun içinde olsun.
System.IO namespace altında tanımlanan özellikleri kullanacağız bu yüzden projenize bunu eklemeyi unutmayın.
Bir buton sayesinde kaydetme işlemi yapacağız. Buton click event ine aşağıdaki kodları yazmamız gerekiyor.
FileStream fs = new FileStream("Fihrist.bak", FileMode.Create);
BinaryFormatter bf = new BinaryFormatter();
bf.Serialize(fs, kisiler);
fs.Close();
MessageBox.Show("Kaydedildi");

FileStream bize dosyayı istediğimiz yerde oluşturup onu ne yapacağımızı bildirdiğimiz kısımdır. Burada
FileStream("Fihrist.bak", FileMode.Create); FileStream e verilen ilk parametre dosyayı kaydedeceğimiz yerdir. C:/Fihrist.bak şeklinde yazarsak C'nin altına kaydedecektir sadece ismini yazarsak bizim projemizde bulunan bin dosyasının altındaki Debug klasörünün altına kaydedecektir. İstediğimiz ismi ve uzantıyı verebiliriz. Burada FileMode ile ise bu yeni bir dosya oluşturacağımızı söylüyoruz. İstersek var olan dosyayı da açabiliriz.
Dosyayı kullandıktan sonra kapatmayı unutmayın yoksa açık kalır :D
BinaryFormatter asıl işi yapar verimizi Serialize metodu sayesinde dosyaya binary halinde kaydeder. İşte bu kadar...
Daha sonra diyelim bu dosyadaki verileri açıp gereken yere koymak istiyoruz. O zaman şunları da Formun Load event ine yazın
FileInfo fInfo = new FileInfo("Fihrist.bak");
if (fInfo.Exists)
{
FileStream fs = new FileStream("Fihrist.bak", FileMode.Open);
BinaryFormatter bf = new BinaryFormatter();
kisiler = bf.Deserialize(fs) as List;
fs.Close();
Listele();
}

Buradaki Listele() metodu benim verilerimi ListView e yazmaya yarıyor. Fazla uzatmayayım en kısa bu kadar oldu.

22 Mayıs 2008 Perşembe

Stored Procedure tanımlamaları

Örnek olarak basit stored procedure tanımlamaları:

->En genel stored procedure
CREATE PROCEDURE procedure
AS
SELECT * FROM tablo_adi
GO çalıştırmak için (EXEC procedure)

->Parametre alan store procedure tanımlamaları
CREATE PROCEDURE procedure
@yas int
AS
SELECT * FROM tablo_adi WHERE yas>@yas
GO (EXEC procedure 20)

->Kendi içerisinde değer kullanan stored procedure
CREATE procedure [dbo].[ilkStoredProcedure]
@name varchar(10)
AS
DECLARE @name2 nchar(10)
SET @name2=(SELECT ad FROM genel WHERE ad=@name)
IF @name2 is null
BEGIN
insert into genel(ad) values(@name)
END
ELSE
PRINT 'Bu isimde database de kullanıcı adı var'
GO (EXEC procedure ahmet)

21 Mayıs 2008 Çarşamba

Sql Server 2005 te sql server authentication ile oturum açma sorunu

Sql server 2005 te sql server authentication olarak oturum açarken eğer bir sorunla karşılaşırsanız bu anlattıklarımı yapmanız gerekir. Benim başıma geldi. Bi hocam anlattı faydalı olur diye burda paylaşmak istedim.
Sql server authentication olarak oturum açmayı hiç bilmiyorsanız management studio yu açtıktan sonra authentication da sql server authentication seçili olması gerekiyor. Login yerine sa, password yerine de programı kurarken oluşturmuş olduğunuz şifrenizi yazıp bağlanabilirsiniz. Aşağıda anlatacaklarım bu şekilde bağlanabilenler için değilidir.

İlk önce server ınızın uzaktan erişime açık olması gerekiyor. Bunun için;
1- Management Studio yu acin.
2- Object explorer uzerinde en ust dugum olan server adınıza sag tıklayıp properties e girin.
3- connections sekmesini secin ve buradaki Allow remote connections to this server seceneginin tikli olmasını saglayın. Tamam deyin. Management studio yu kapatın.
4- gecen sevfer gibi baslat-> calistir a services.msc yazarak acilan servislerden Sql Server(MSSQL) i durdurup yeniden baslatin ve baglanmayi deneyin.

Şimdi de sa ile yani Sql server authentication ile oturum açmak için de şunları yapın.
1- Gene management Studio yu kullanarak windows authentication ile management studio yu acin.
2- Soldaki object explorer agacinda(gorunmuyorsa view sekmesi altinda object explorer i acin) en ust dugum olan server adiniz uzerine gelin. Sag tusla properties i ne girin.
3- Properties icinde soldan security sekmesini secin.
4- Security icinde Authentication Mode olarak Sql Server and Windows Authentication radio buttonu secili hale getirin.
5- Tamam diyerek properties penceresini kapatin.
6- Gene object explorer icinde goruntulenen (database,security, Serer objects.. seklindeki) listeden securitynin + sina basarak genisletin logins in + si ile genisletin acilan kullanici listesinde sa yi secin sag tusla properties ine girin.
7- Properties icinde en altta bulunan status kismana girip enabled olup olmadigina bakin, degilse enabled yapin.
8- Tamam diyerek pencereyi kapatin.
9- Management studio yu kosesinden kapatin.
10- Baslat calistira services.msc yazarak servislere girin. Sql server(MSSQL) ini bulun durdurun ve yeniden baslatin.
Bunlardan sonra en baştan tekrar bağlanmayı deneyin. Sorununuz çözülmüş olacak.
Kolay Gelsin...