16 Aralık 2008 Salı

case when yapısında null değeri kullanmak

SQL Server'da select içinde if benzeri bir yapı kullanmak istiyorsak case when yapısı yardımımıza koşar mesela aşağıdaki ifadeye bakın.
select
case yas
when 5 then 'yas 5'
when 6 then 'yas 6'
else '5 yada 6 Değil'
end yeniyas

Bu durumda yas kolonun değerine göre yeniyas isimli yeni bir kolona değerler verilir. Böyle bir ifadede null değerlerini kontrol etmek istediğinizde şöyle yazarsanız istediğiniz sonucu alamazsınız:
case yas
when null then "değer yok"
else 'değer var'
end yeniyas

Bu durumda kullanmanız gereken yapı şu şekilde olmalıdır.
case
when yas is null then 'değer yok'
else 'değer var'
end yeniyas

21 Haziran 2008 Cumartesi

RSS Okuyucu

Aslında bir rss okuyucu yapmak çok basittir. Sizinle kurstan hocamın (Bora BEKEN) yapmış olduğu bir rss okuyucuyu paylaşmak istiyorum. http://rapidshare.com/files/124126586/RssReader.zip.html adresinden kaynak kodunu indirebilirsiniz. rss linkini verdiğinizde genelde http://rss şeklinde başlar bütün bilgileri alıp size getirmekte. Örnek bir resmini aşağıda görebilirsniz.

Dundas Chart ve Stored Procedure

Dundas Chart yazılımı ayrıntılarını dundas.com sitesinden görebileceğiniz .net platformu için geliştirilmiş gelişmiş bir grafik çizdirme (ingilizcesi chart)eklentisi. Burada özelliklerini uzun uzun anlatmayacağım. Sadece özet olarak bu grafikleri kullanmak istiyorsanız programını indirip kurmanız gerekiyor. asp.net ve windows uygulamaları olmak üzere 2 tipi ve farklı versiyonları var. Bunun yanında gene grafik çizdirme üzerine farklı araçları da mevcut. Gene ayrıntılı bilgiyi web sitesinden öğrenebilirsiniz. Bu örnekte bir stored procedure'ü nasıl grafikle çizdiriceğimizi söyleyeceğiz.
Programı yükledikten sonra yeni bir visual studio açın ve yeni bir web sitesi olşturun. Toolbox'dan dundaschart öğesini sürükleyip bırakın. Öğe, toolbox'da dundas sekmesi altında durmakta. Eğer göremiyorsanız visualstudio'yu baştan başlatın. gene gözükmüyorsa toolbox üzerinde sağ tıklayarak choose items... deyin ve dundas chart ile başlayan öğeleri seçip projenize dahil edin.
Daha fazla ileri gtimeden sqlserver'ı açıp örnek bir tablo oluşturalım ve örnek stored procedure'u yazalım. Tablomuz oldukça basit olacak tarih ve satislari gösterecek yapısı ve içine örnek olarak koyduğum data şöyle:



Şimdi ise bir stored procedure oluşturalım. Stored procedure 2 tarih parametresi alacak ve bu tarihler arasındaki satisları listeleyecek.
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO

CREATE PROCEDURE grafik_getir
@date1 datetime, @date2 datetime
as
BEGIN
select zamanlar,satislar from dundastablo where zamanlar between @date1 and @date2
END
GO

şimdi visual studio projemize geri dönün. ve bir düğme ekleyin. Proje içine aşağıdaki kodları yapıştırın.
using System;
using System.Data;
using System.Configuration;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using System.Data.SqlClient;
using Dundas.Charting.WebControl;

public partial class _Default : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{

}
protected void Button1_Click(object sender, EventArgs e)
{
SqlConnection connection = new SqlConnection("Data Source=ERMANPC;Initial Catalog=batur;Integrated Security=True");
SqlCommand command = new SqlCommand();
command.Connection = connection;
command.CommandType = CommandType.StoredProcedure;
command.CommandText = "dbo.[grafik_getir]";

SqlParameter date1 = new SqlParameter("@date1", SqlDbType.DateTime);
SqlParameter date2 = new SqlParameter("@date2", SqlDbType.DateTime);

command.Parameters.Add(date1);
command.Parameters.Add(date2);

command.Parameters["@date1"].Value = Convert.ToDateTime("01.01.2008");

command.Parameters["@date2"].Value = Convert.ToDateTime("02.01.2008");

command.Connection.Open();

SqlDataReader reader = command.ExecuteReader(CommandBehavior.CloseConnection);

Chart1.DataSource = reader;

Chart1.Series[0].ValueMemberX = "satislar";
Chart1.Series[0].ValueMembersY = "zamanlar";
Chart1.DataBind();
}
}

Programı çalıştırıp düğmeye tıkladığınızda grafiğin geldiğini göreceksiniz.


18 Haziran 2008 Çarşamba

Google'ın Güzel özellikleri

Merhaba, sık sık kullandığımız google arama motorunun çok yararlı 3 özelliğinden bahsetmek istiyorum. ilk özelliği hesap makinası özelliği google arama satırına herhangi bir matematiksel ifade yazıp arama tuşuna tıkladığınızda sonucunu görebilirsiniz. Mesela sqrt(20+5) yazıp enter'a bastığınızda 20+5=25 25'in karekökü 5'i bulabilirsiniz. daha ayrıntılı bilgi için http://www.google.com.tr/intl/tr/help/calculator.html adresine bakabilirsiniz. isterseniz Bu özellikle para birimleri yada ölçü birimleri arasında dönüşüm de yapabilirsiniz.
Diğer bir özellik ise aradığınız kelime yada kelimelerin sadece belli bir site içinde aramanmasını sağlamak. bunun için aratmak istediğiniz kelimeden sonra site: yazıp web sitesinin adını yazmanız yeterli. araba site:www.ekolay.net şeklinde bir arama yaparsanız, araba kelimesini www.ekolay.net sitesi içinde aramış olursunuz.
Son bahsetmek istediğim özellik ise define: özelliği. Bu özelliği bir sözlük gibi düşünebilirsiniz. mesela define: summer yazdığınızda yaz kelimesi ile ilgili açıklamalara erişebilirsiniz.

15 Haziran 2008 Pazar

Asp.net Yeni Sayfa Açtırmak (c#)

Visual studio ortamında aspx sayfalarında bir diüğmeye tıkladındığında veya bir olay sonucunda popup pencere şeklinde yeni bir sayfa açmak istiyorsanız şu kodu kullanabilirsiniz:
string Clientscript = "window.open(\"Default2.aspx\")";
Button1.Attributes.Add("Onclick",Clientscript);
c# dilini kullandığımızı varsayıyorum. Aslında dikkat edilirse kod bir javascript kodunu çalıştırıp bunu düğmeye atamakta.

Web sitenize google site içi arama motornuzu eklemek

Bazi web sitelerinde gördüğümüz google'ın site içinde arama özelliğini web sitenize eklemek altında çok kolay http://www.google.com/coop/cse/ sitesini ziyaret edip buradan Özel Arama Motoru Oluştur linkini kullanarak oluşturabilirsiniz. işlemlerini takip ettiğinizde size gerekli html kodunu verecektir. Bunu sayfanıza yapıştırmanız yeterli. Eğer google hesabınız yoksa bir hesap almanız gerekebilir.

14 Haziran 2008 Cumartesi

Aspx Sayfalarına Flash Eklemek

Visual studio ortamını kullanarak aspx sayfalarına flash animasyonları eklemek istiyorsanız. farklı yöntemler mevcut. Ama ne yazık ki microsoft bunun için basit bir yol yada toolbox'dan sürükleyip bırakacağmız bir nesne geliştirmemiş. Bir yol projeyi dreamwever içinde açarak eklemeyi orada yapmak. dreamweaver gerekli kodlamaları sayfaya ekleyecektir. Ama bu yolu kullanmak istemiyorum visual studio arayüzünden ekleme yapmak istiyorum derseniz, o zaman bir javascrip kod ile bunu yapabilirsiniz.
Bunun için http://swfobject.googlecode.com/files/swfobject_2_0.zip sitesinden zip dosyasını indirin ve açın. İçindeki swfobject.js dosyasını projenize ekleyin add--> exsisting items yolunu kullanabilirsiniz. Aslında dosyanın içine bakarsanız tek satırlık bir javascript kodu var o kadar. Artık aşağıdaki kodu yazarak swf dosyasını sayfanızda gösterebilirsiniz. Örnek kullanımın nasıl yapıldığını ise http://code.google.com/p/swfobject/wiki/documentation adresinden görebilirsiniz.
Oldukça basit. sadece birkaç dakika ayırarak swf flash dosyalarınızı aspx sayfalarınıza taşıyabilirsiniz. Böylece eğer embed is not supported gibi hataların da önüne geçebilirsiniz.
Eğer gene hatalar gözlemliyorsanız. kodu div tagleri altında koyduğunuzu kontrol edin ve div taglerine elle genişlik ve yükseklik verin.
Son olarak başka bir yöntemden bahsetmek istiyorum. Aslında Bu görünüşe göre en basit yöntem derlediğiniz zaman sayfada hata olduğunu söylüyor ama genede çalışıyor. Aşağıdaki kod bloğunu kullanın.