04 Mar 2007 ASP.NET İle Stored Procedure Kullanımı – 1 Kategori: ASP.NET Etiketler: ASP.NETSQL Server 2005SQL Server 0 Yorum Merhaba arkadaşlar, bu makalemizde ASP.NET İle SQL Server üzerinde Stored Procedure oluşturup, oluşturduğumuz stored procedurü ASP.NET Projemizde kullanacağız…Stored Procedure Nedir?Ilk olarak kısaca Stored Procedürden bahsedeyim; Stored Procedures SQL Server üzerinde tutulan T-SQL ifadeleridir. Belli bir görevi yerine getirebilmek amacıyla yapılandırılırlar. SQL Server üzerinde derlenirler. Belirledigimiz sartlara göre, program içinden çagrılarak kullanılırlar. T-SQL deyimleriyle yazılan Store Procedures sadece ilk kez çalıstırıldıklarında derlenirler. Daha sonraki çalıstırma islemlerinde derlenmezler. Bu sayede çalısmalarımızda hız kazanmıs oluruz. Stored Procedürlerin bir baska artısı da çok güvenlidir. ÖrnekCreate Proc LastTenPerson as select top 10 ContactID, FirstName, LastName from Person.Contact order by ContactID desc Bu Stored procedurü çalıstıralım; exec LastTenPerson > bize geri dönen sonuç; Bize son 10 kaydı geri döndürdü. Simdi isterseniz bu olusturdugumuz Stored Procedurü, ASP.NET Projesinde kullanalım; lk olarak bir web projesi açalım; Projemizi olusturduktan sonra sayfamıza bir adet grid ekleyelim; Evet simdi kaydımızı görüntüleyecek olan kodları yazalım ilk olarak System.Data ve System.Data.SqlClient namespacelerini sayfamıza ekleyelim. using System.Data; using System.Data.SqlClient; Daha sonra sayfamızda kullanacagımız degiskenleri tanımlayalım; SqlConnection Cnn; SqlCommand Cmd; SqlDataAdapter Da; DataSet Ds; Simdi Kaydımızı listeleyecek olan voidi yazalım(Isterseniz function olarak yada class içerisinde kullanabilirsiniz). private void GetLastTenPerson() { Cnn = new SqlConnection("Data Source=localhost; Initial Catalog=AdventureWorks; trusted_connection=yes");//DB Baglantısı Cmd = new SqlCommand(); Cmd.CommandType = CommandType.StoredProcedure;//Command Tipi Cmd.CommandText = "LastTenPerson";//SP Adı Cmd.Connection = Cnn;//Commandin kullanacagı Connection if (Cnn.State == ConnectionState.Closed) Cnn.Open(); Da = new SqlDataAdapter(Cmd); Ds = new DataSet(); Da.Fill(Ds,"table"); GridView1.DataSource = Ds.Tables[0]; GridView1.DataBind(); } En son olarak bunu Formun Load'da çagıralım; protected void Page_Load(object sender, EventArgs e) { GetLastTenPerson(); } Simdi Projemizi çalıstıralım; Son 10 kaydımızı basarı ile listeledik; Simdi Stored Proceduremizi biraz daha genisletelim ve Bir kriter ekleyelim. Örnegin Firstname'ni biz dısarıdan girelim ve girdigimiz Firstname'e göre kayıtlar listelensin. Bunun için Stored Procedure içerisine dısarıdan bir parametre almalıyız. Biz buna input parametre diyoruz. Stored Proceduremizin düzenlenmis hali; Alter Proc LastTenPerson //SP'mizi Alter ettik @FirstName varchar(20)//Input Parameter as select top 10 ContactID, FirstName, LastName from Person.Contact where FirstName=@FirstName order by ContactID desc exec LastTenPerson 'Crystal' Sonucu görelim; Firstname'i sadece Crystal olanlar geldi; Simdi bunu ASP.NET tarafında da yapalım; Bunun için projemize bir adet buton ve bir adet textbox ekleyelim. Sayfamızdaki kodları Command out yapalım yada silelim çünkü SP degistigi için çalıstıgında hata verecektir. Button1'e tıklayalım; protected void Button1_Click(object sender, EventArgs e) { Cnn = new SqlConnection("Data Source=localhost; Initial Catalog=AdventureWorks; trusted_connection=yes"); Cmd = new SqlCommand(); Cmd.CommandType = CommandType.StoredProcedure; Cmd.CommandText = "LastTenPerson"; Cmd.Parameters.AddWithValue("@Firstname", TextBox1.Text);// Dısarıdan Store Procedure parametre ekliyoruz.. Cmd.Connection = Cnn; if (Cnn.State == ConnectionState.Closed) Cnn.Open(); Da = new SqlDataAdapter(Cmd); Ds = new DataSet(); Da.Fill(Ds, "table"); GridView1.DataSource = Ds.Tables[0]; GridView1.DataBind(); } Simdi projemizi tekrar çalıstıralım ve sonucu görelim. Yukarıda da görüldügü gibi Firstname'i sadece 'Crystal' olan kayıtlar listelenmektedir. Bu makalenin de sonuna geldik, bir sonraki makale de Insert, Update ve Delete islemlerini inceleyecegiz. Baska bir makalede görüsmek üzere basarı ve iyi günler dilerim. Sem GÖKSU MCP | MCAD.NET | MCTS Örnek Kodlar için mail adresimi kullanabilirsiniz semgoksu@semgoksu.com Kaynaklar http://msdn.com
02 Mar 2007 Microsoft MVP Seçildim... Kategori: Benden Etiketler: ASP.NETMicrosoft 26 Yorum 01.03.2007 Tarihi ile ASP.NET Kategorisinde Microsoft MVP(Most Valuable Professional) seçildim. Bu haberi bana veren Bilgeadam Yazılım Egitmeni olan Suat Tuncer e Tesekkürü borç bilirim...ASP.NET MVPLERCengiz Han Hakan Ulagan Mehmet Nuri ÇANKAYA Coskun SUNALI Cem SISMAN Zafer Demirkol Sem Göksu
27 Şub 2007 ASP.NET Whois Sorgusu Kategori: ASP.NET Etiketler: ASP.NET 0 Yorum Merhaba arkadaşlar, bu makalemizde ASP.NET ile whois sorgulama işleminin nasıl yapıldığına bakacağız.ASP.NET Whois Sorgusu Bir domain adı almak istedigimizde ik olarak baskası tarafından register edilip edilmedigine yani almak için müsait olup olmadıgına bakarız. Iste bende bu makale de ASP.NET ile whois sorgusunun nasıl yapılacagını anlatacagım. Web kaynaklarını uzaktan sorgulamak için System.Net.WebClient sınıfını kullanırız. Bu sınıf internet kaynaklarına erismek için WebRequest sınıfını kullanır. Burada, bir byte array döndüren ve kaynaktan veriyi indiren WebClient sınıfının Download metodu vardır. Byte olarak gönderilen veri sisteme ANSI olarak encode edilir. Alınan veriyi parse etmek için Regex sınıfını kullanılır. Ihtiyacımız olan veriyi elde etmek için de Match sınıfını kullanacagız... Peki bu bilgileri nereden sorgulayacagız? Bu bilgileri tutan whois serverları kullanarak istedigimiz domain adını sorgulayabiliriz. Ben bu projemde http://www.directnic.com/whois Whois serverını kullanacagım. Simdi örnegimize geçelim; Ilk olarak Bir Web Projesi olusturalım... Projemize domain adlarını sorgulamak için kullanacagımız ve domain adını girmemiz için formumuza bir textbox, domain adı uzantısını seçmemiz için bir dropdown, sonucu görüntülemek için label ve whois sorgusunu yapmak için button ekleyelim. Benim olusturdugum Whois Sayfası asagıdaki gibidir; Simdi bu islem için kodlarımızı yazalım; Evet simdi projemizi çalıstıralım; Simdi domain adını sorgulayalım; Whois sonucu bu domain adının daha önceden register edilmis oldugunu gördük; simdide register edilmemis bir domain adı sorgulayalım; Bu makalenin de sonuna geldik, baska bir makalede görüsmek üzere basarı ve iyi günler dilerim. Sem GÖKSU MCP | MCAD.NET | MCTS Örnek Kodlar için mail adresimi kullanabilirsiniz semgoksu@semgoksu.com Kaynaklar http://www.codeproject.com
23 Şub 2007 ASP.NET Multi Upload Kategori: ASP.NET Etiketler: ASP.NETASP.NET 2.0 8 Yorum Merhaba arkadaşlar, bu makalemizde web sitelerinde çok sık kullandığımız file upload kontrolünü genişleterek Multi Upload kontrolü oluşturacağız.ASP.NET Multi UploadFile upload kontrolü bazen tek basına yetmez. yani tek dosya upload'u bizim için yeterli olmaz. Birden fazla dosya upload etmek istedigimizde bunu tek tek yapmak bizim için oldukça zor olur. Hele upload edilecek dosya sayısı belli degilse yada degiskense... Burada biz kendi çözümümüzü gelistirmeliyiz. Ben de bu makale de size kendi gelistirmis oldugum çözümü anlatacagım. Bunu nasıl yapacagız ? Run time'da sayfamıza file upload kontroller ekleyerek bu islemi gerçeklestirebiliriz. protectedvoid Page_Load(object sender, EventArgs e) { FileUpload myFileUpload = new FileUpload(); myFileUpload.ID = "Upload_Dosyasi"; this.form1.Controls.Add(myFileUpload); } Bu kod sayfa açıldıgında formumuza formupload kontrolü ekleyecek.. Evet tek bir kontrolü eklemek istedigimizde bunu yapmak yukarıdaki kadar kolay. Simdi bu islemi çoklu upload için yazalım. Ilk olarak sayfamıza bir adet Panel(upload kontrolleri bu panele ekleyecegiz), DropDownList(Kaç adet File Upload kontrolü sayfamıza eklenecek bunu belirleyecek ben item olarak 3,5,7,10 ekledim) Button(File Upload kontrolünde seçilen dosyaları upload edecek) Benim olusturdugum sayfa asagıdaki gibidir; Sayfamız ilk açıldıgında default olarak 10 adet file upload kontrolü eklensin. protected void Page_Load(object sender, EventArgs e) { for (int i = 1; i <= 10; i++)//10 kere dön { FileUpload myFileUpload = new FileUpload();//Yeni File Upload Kontrolünin instance'ni al myFileUpload.ID = "Upload_" + i;//Erismek için ID'ni belirle this.Panel1.Controls.Add(myFileUpload);//Kontrolü panel içine ekle }}Evet simdi projemizi çalıstıralım; Sayfamıza 10 dan daha az yada daha fazla kontrol eklemek isteyebiliriz. Bunun için seçecegimiz Dropdownda deçecegimiz göre degisecek. Ilk olarak Dropdownun AutoPostback özelligini True yapalım. Simdi gerekli kodları yazalım. protected void DropDownList1_SelectedIndexChanged(object sender, EventArgs e) { Panel1.Controls.Clear(); for (int i = 1; i <= Convert.ToInt32(DropDownList1.SelectedValue); i++) { FileUpload myFileUpload = new FileUpload(); myFileUpload.ID = "Upload_" + i; this.Panel1.Controls.Add(myFileUpload); } } Projemizi tekrar çalıstıralım ve ve dropdowndaki degeri degistirelim; Evet 3 adet kontrol eklendi... Simdi sayfamıza ekledigimiz kontroller için upload islemini yapalım. Button'umuza tıklayalım; FileUpload myFileUpload; // Unutmayalım !!protected void Button1_Click(object sender, EventArgs e) { for (int i = 1; i <= Convert.ToInt32(DropDownList1.SelectedValue); i++) { myFileUpload = ((FileUpload)Panel1.FindControl("upload_" + i.ToString())); if (myFileUpload.HasFile) { myFileUpload.SaveAs(Server.MapPath("images/"+myFileUpload.FileName)); Response.Write(i.ToString()+". Dosya "+ " Upload Edilen Dosya Adı:"+myFileUpload.FileName + "<br/>"); } }} Evet simdi isterseniz bunu test edelim; Evet simdi dosyalarımızı upload edelim... Image klasörü içine gidip upload kontrollere bakalım gerçekten eklemismi : ) EVET 1.gif,2.gif ve 3.gif image klasörümüze eklendi... Eger 3 tane upload yetmediyse dropdowdan istedigimiz sayıyı seçelim ve istediginiz kadar upload yapalım : ) Bu makalenin de sonuna geldik, baska bir makalede görüsmek üzere basarı ve iyi günler dilerim. Örnek Kodları buradan indirebilirsinizSem GÖKSUMCP | MCAD.NET | MCTSsemgoksu@semgoksu.com Kaynaklarhttp://msdn.com