<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Turkcekaynak.net &#187; Programlama</title>
	<atom:link href="http://turkcekaynak.net/category/programlama/feed" rel="self" type="application/rss+xml" />
	<link>http://turkcekaynak.net</link>
	<description>Windows 7, Wordpress, Dmoz, Google, Msn, Programlama, Yazılım, İnternet</description>
	<lastBuildDate>Fri, 23 Jul 2010 12:33:42 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0</generator>
		<item>
		<title>C#&#8217;da ArrayList Sınıfının Kullanımı</title>
		<link>http://turkcekaynak.net/programlama/c-sharp/cda-arraylist-sinifinin-kullanimi.html</link>
		<comments>http://turkcekaynak.net/programlama/c-sharp/cda-arraylist-sinifinin-kullanimi.html#comments</comments>
		<pubDate>Sat, 17 Oct 2009 19:42:05 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[C#]]></category>
		<category><![CDATA[c arraylist add]]></category>
		<category><![CDATA[c arraylist contains]]></category>
		<category><![CDATA[c arraylist index]]></category>
		<category><![CDATA[c arraylist indexof]]></category>
		<category><![CDATA[c arraylist kullanımı]]></category>
		<category><![CDATA[c arraylist remove]]></category>
		<category><![CDATA[c arraylist sort]]></category>
		<category><![CDATA[c sharp arraylist]]></category>

		<guid isPermaLink="false">http://turkcekaynak.net/?p=548</guid>
		<description><![CDATA[ArrayList C#’ta bir class’dır. Diğer classlar gibi Arraylist’i de kullanabilmemiz için yavru değişkenini türetmeliyiz. Arraylist aslında bir dizidir.Fonksiyonlar çalışırken arkaplanda birden fazla dizi çalışır. Arraylist’i bir otosbüsü bekleyen yolcu kuyruğuna benzetebiliriz. En son gelen en arkaya geçer. Arraylist için de böyledir. En son eklenen eleman en son indisli elemandır. Eleman eklendikçe Arraylist de büyür, eleman [...]]]></description>
			<content:encoded><![CDATA[<p style="float: right;margin: 4px;"><script type="text/javascript"><!--
google_ad_client = "pub-7647590832779597";
/* 250x250, oluşturulma 09.04.2010 */
google_ad_slot = "6514548591";
google_ad_width = 250;
google_ad_height = 250;
//-->
</script>
<script type="text/javascript"
src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
</script></p> <p>ArrayList C#’ta bir class’dır. Diğer classlar gibi Arraylist’i de  kullanabilmemiz için yavru değişkenini türetmeliyiz. Arraylist aslında bir dizidir.Fonksiyonlar çalışırken arkaplanda birden fazla dizi çalışır. Arraylist’i bir otosbüsü bekleyen yolcu kuyruğuna benzetebiliriz. En son gelen en arkaya geçer. Arraylist için de böyledir. En son eklenen eleman en son indisli elemandır. Eleman eklendikçe Arraylist de büyür, eleman sayısında bir sınırlama yoktur. Arraylist’in eleman türü object’tir. Bunu ilk örnekte daha iyi anlayacaksınız. Arraylist için şimdilik bu ön bilgiler yeterli. İsterseniz hemen Arraylist fonksiyonlarına geçelim.</p>
<p>ArrayList oluşturabilmek için projemize using System.Collections kodunu da eklemeliyiz. Bu kodla System.Collections kütüphanesini çağırmış oluruz.</p>
<p>Add Fonksiyonu:</p>
<p>ArrayList class’ından oluşturduğumuz yavru değişkene bir eleman eklemek için kullanılır. Mesela:</p>
<pre class="brush: csharp;">private void button1_Click(object sender, EventArgs e)
{
   ArrayList diziListe = new ArrayList();
   int[] dizi = new int[5] { 1, 2, 3, 4, 5 };diziListe.Add(dizi[2]);// diziListe'nin ilk elemanı 3 olur
   diziListe.Add(12); // diziListenin ikinci elemanı 12 olur
   diziListe.Add(&quot;kelime&quot;); // dizilistenin üçüncü elemanı kelime stringi olur
   this.Text = diziListe[0].ToString();// Form'un başlığına 3 yazar
   this.Text = diziListe[1].ToString();// Form'un başlığına 12 yazar
   this.Text = diziListe[2]; // Form'un başlığına kelime yazar
}</pre>
<p>Burada dikkat edilmesi gereken ilk nokta Add fonksiyonu ile Arraylist’e aynı anda sadece bir eleman ekleyebilmemiz. İkinci önemli nokta ise hem bir integer değeri ekledik hem de bir string değeri ekledik. Buradan da analaşılacağı üzere oluşturduğumuz Arraylist’e object türünde değerler atabiliyoruz. Mesela biz burda diziListe isimli yavru değişkene bool, double, float, string, byte, hatta Button, listBox türünde nesneler de ekleyebiliyoruz çünkü object türü değişken hepsini kapsayabiliyor.</p>
<p><strong>AddRange Fonksiyonu:</strong></p>
<p>AddRange fonksiyonu Add fonksiyonuna benzemektedir. Aradaki tek fark Add ile sade bir değeri ekleyebiliyorduk. AddRange ile ise Arraylist’e bir dizinin tamamını ekleyebiliriz.</p>
<pre class="brush: csharp;">private void button1_Click(object sender, EventArgs e)
{
    ArrayList diziListe = new ArrayList();
    int[] dizi = new int[5] { 11, 21, 34, 56, 74 };
    diziListe.AddRange(dizi);textBox1.Text = diziListe[2].ToString();// textBox1’in içine 34 yazar
}</pre>
<p>Burada bir noktayı hatırlatalım, listBox’ın elemenları da bir dizidir. Yani şunu da yapabilirdik:</p>
<p>diziListe.AddRange(listBox1.Items);</p>
<p>Bu kod ile listBox içindeki bütün değerleri Arraylist’imizin içine ekleyebiliriz.</p>
<p><strong>Clear Fonksiyonu:</strong></p>
<p>Arraylist içindeki bütün elemanları silmek için kullanılan bir fonksiyondur.</p>
<pre class="brush: csharp;">private void button1_Click(object sender, EventArgs e)
{
   ArrayList diziListe = new ArrayList();
   int[] dizi = new int[5] { 11, 21, 34, 56, 74 };
   diziListe.AddRange(dizi);diziliste.Clear();// diziListe'nin içine tamamen temizler
   extBox1.Text = diziListe[2].ToString();// hata verir
}</pre>
<p><strong>Contains Fonksiyonu:</strong></p>
<p>Fonksiyona parametre olarak verilen değişkenin Arraylist içinde olup olmadığına bakar. Eğer var ise true yok ise false döndürür.</p>
<pre class="brush: csharp;">private void button1_Click(object sender, EventArgs e)
{
   ArrayList diziListe = new ArrayList();
   int[] dizi = new int[5] {1,2,3,4,5 };
   diziListe.AddRange(dizi);
   if (diziListe.Contains(Convert.ToInt32(textBox1.Text))==true)
   {
        MessageBox.Show(&quot;girilen değer diziListe içinde mevcut&quot;);
   }
   else
   {
       MessageBox.Show(&quot;girilen değer diziListe içinde yok&quot;);
   }
}</pre>
<p><strong><br />
Count Fonksiyonu:</strong></p>
<p>Arraylist’in eleman sayısını döndüren fonksiyondur.</p>
<pre class="brush: csharp;">private void button1_Click(object sender, EventArgs e)
{
   ArrayList diziListe = new ArrayList();
   int[] dizi = new int[] {1,2,3,4,5,6 };
   diziListe.AddRange(dizi); textBox1.Text = diziListe.Count.ToString();//textBox1'in içine 6 yazar
}</pre>
<p><strong>IndexOf Fonksiyonu:</strong></p>
<p>Arraylist içinde istediğimiz elemanı aramak için kullanırız. Fonksiyonun üç farklı kullanımı vardır. En genel olanı parametre olarak sadece aranan elemanın kendisini alanıdır. Eğer aranan eleman Arraylist içinde var ise elemanın indis numarasını, yok ise -1 döndürür. IndexOf fonksiyonu aramaya Arraylist’in başından başlar.</p>
<pre class="brush: csharp;">private void button1_Click(object sender, EventArgs e)
{
   ArrayList diziListe = new ArrayList();
   string[] dizi = new string[5] {&quot;aa&quot;,&quot;bb&quot;,&quot;cc&quot;,&quot;dd&quot;,&quot;ee&quot; };// fonksiyonun parmetresi aradığımız elemandır
   diziListe.AddRange(dizi);
   int sıra; sıra = diziListe.IndexOf(&quot;cc&quot;, 0, diziListe.Count - 1);
   textBox1.Text = sıra.ToString();
}</pre>
<p><strong>LastIndexOf Fonksiyonu:</strong></p>
<p>IndexOf fonksiyonu gibi Arraylist iinde herhangi bir elemanı aramak için kullanılır. IndexOf’tan farkı aramaya sondan başlamasıdır. Elaman sayısı çok fazla olan Arraylist’lerde aradığımız eleman sonlara daha yakınsa bu fonksiyon bize hız kazandırır. Eğer aranan eleman Arraylist içinde var ise elemanın indis numarasını, yok ise -1 döndürür.</p>
<pre class="brush: csharp;">private void button1_Click(object sender, EventArgs e)
{
   ArrayList diziListe = new ArrayList();
   string[] dizi = new string[5] {&quot;aa&quot;,&quot;bb&quot;,&quot;cc&quot;,&quot;dd&quot;,&quot;ee&quot; };
   diziListe.AddRange(dizi); int sıra; sıra = diziListe.LastIndexOf(&quot;dd&quot;, 0, diziListe.Count - 1); // Aramaya sondan başladığı için elemanı ikinci seferde bulur. Eğer IndexOf kullansaydık elemanı üçüncü seferde bulacaktı.
   textBox1.Text = sıra.ToString();
}</pre>
<p><strong>Insert Fonksiyonu:</strong></p>
<p>Arraylist içinde herhangi bir aralığa eleman eklemek için kullanırız. Araya eleman eklediğimiz için Arraylist’in eleman sayısı da artmış olur (tıpkı otobüs beklerken birinin araya girmesi gibi). Fonksiyonun ilk parametresine elemanı eklemek istediğimiz indis numarasını, ikinci parametreye ise elamanı yazarız.</p>
<pre class="brush: csharp;">private void button1_Click(object sender, EventArgs e)
{
   ArrayList diziListe = new ArrayList();
   string[] dizi = new string[5] { &quot;aa&quot;, &quot;bb&quot;, &quot;cc&quot;, &quot;dd&quot;, &quot;ee&quot; };// diziListe.AddRange(dizi);
   diziListe.Insert(2, &quot;ff&quot;); // diziListenin 2 numaralı indisine ff ekledik. diziListenin eleman sayısı 6 oldu.
   textBox1.Text = diziListe[2].ToString(); // textBox1'in içine ff yazar.
}</pre>
<p><strong>InsertRange fonksiyonu:</strong></p>
<p>Fonksiyonun Insert fonksiyonunda tek farkı araya birden fazla elemanı bir seferde ekleyebilmesidir.</p>
<pre class="brush: csharp;">private void button1_Click(object sender, EventArgs e)
{
   ArrayList diziListe = new ArrayList();
   int[] dizi = new int[5] { 0, 1, 2, 3, 4 };
   diziListe.AddRange(dizi); int[] eklenecek=new int[3]{ 10, 11, 12 };
   diziListe.InsertRange(2, eklenecek); // diziListenin 2 numaralı indisinden sonra {10,11,12} dizisini ekledik. diziListenin eleman sayısı 8 oldu. // diziListenin son hali{0,1,10,11,12,2,3,4,5} şeklidedir.
   textBox1.Text = diziListe[2].ToString(); // textBox1'in içine 10 yazar.
}</pre>
<p><strong>Remove Fonksiyonu:</strong></p>
<p>Fonksiyona parametre olarak girilen elemanı Arraylist’in içinde bulur ve siler. Arraylist’in eleman sayısı 1 azalmış olur.</p>
<pre class="brush: csharp;">private void button1_Click(object sender, EventArgs e)
{
   ArrayList diziListe = new ArrayList();
   int[] dizi = new int[5] { 0, 1, 2, 3, 4 };
   diziListe.AddRange(dizi);
   diziListe.Remove(3)textBox1.Text = diziListe[3].ToString(); // textBox1'in içine 4 yazar.
}</pre>
<p><strong>RemoveAt Fonksiyonu:</strong></p>
<p>Remove fonksiyonundan tek farkı parametre olarak elemanı değil elemanın indis numarasını almasıdır.</p>
<pre class="brush: csharp;">private void button1_Click(object sender, EventArgs e)
{
   ArrayList diziListe = new ArrayList();
   int[] dizi = new int[5] { 7, 8, 9, 10, 11 };
   diziListe.AddRange(dizi); diziListe.Remove(2);
   textBox1.Text = diziListe[2].ToString(); // textBox1'in içine 10 yazar.
}</pre>
<p><strong>Reverse Fonksiyonu:</strong></p>
<p>Arraylist’in eleman sıralamasını tersine çevirmek için kullanılır.</p>
<pre class="brush: csharp;">private void button1_Click(object sender, EventArgs e)
{
   ArrayList diziListe = new ArrayList();
   int[] dizi = new int[5] { 7, 8, 9, 10, 11 };
   diziListe.AddRange(dizi); diziListe.Reverse();// dizi bundan sonra {11,10,9,8,7} halini alır.
   textBox1.Text = diziListe[2].ToString(); // textBox1'in içine 9 yazar.
}</pre>
<p><strong>Sort Fonksiyonu:</strong></p>
<p>Arraylist’in elamanlarını küçükten büyüğe doğru sıralamak için kullanılır. Eğer elemanlar string tipinde ise alfabetik sıralama yapar.</p>
<pre class="brush: csharp;">private void button1_Click(object sender, EventArgs e)
{
   ArrayList diziListe = new ArrayList();
   string[] dizi = new string[4] { &quot;Ankara&quot;, &quot;İzmir&quot;, &quot;İstanbul&quot;, &quot;Gaziantep&quot; };
   diziListe.AddRange(dizi); diziListe.Sort(); //dizinin son hali {&quot;Ankara&quot;,&quot;Gaziantep&quot;,&quot;İstanbul&quot;,&quot;İzmir&quot;} şeklinde olur.
   textBox1.Text = diziListe[3].ToString(); // textBox1'in içine İzmir yazar.
}</pre>
]]></content:encoded>
			<wfw:commentRss>http://turkcekaynak.net/programlama/c-sharp/cda-arraylist-sinifinin-kullanimi.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>C# Parametreli ToString() Metodu</title>
		<link>http://turkcekaynak.net/programlama/c-sharp/c-parametreli-tostring-metodu.html</link>
		<comments>http://turkcekaynak.net/programlama/c-sharp/c-parametreli-tostring-metodu.html#comments</comments>
		<pubDate>Sun, 13 Sep 2009 00:56:40 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[C#]]></category>
		<category><![CDATA[csharp tostring]]></category>
		<category><![CDATA[tostring format c]]></category>

		<guid isPermaLink="false">http://turkcekaynak.net/?p=517</guid>
		<description><![CDATA[Bugün internette döküman okurken yeni birşey öğrendim. ToString() metodunun içine parametre ekleyerek, sayıları farklı bir şekilde string ifadesine çevirebiliyoruz. Örnekleri görünce daha iyi anlayacaksınız. 1-) C Parametresi: long sayi = 10000000; string deger = sayi.ToString(&#34;C&#34;); MessageBox.Show(deger); Bu şekilde C parametresi verdiğimizde sayıyı para birimiyle beraber yazdırır. 2-) N Parametresi: long sayi = 10000000; string deger [...]]]></description>
			<content:encoded><![CDATA[<p>Bugün internette döküman okurken yeni birşey öğrendim. ToString() metodunun içine parametre ekleyerek, sayıları farklı bir şekilde string ifadesine çevirebiliyoruz. Örnekleri görünce daha iyi anlayacaksınız.</p>
<p>1-) C Parametresi:<br />
<img class="alignleft" title="C sharp" src="http://img3.imageshack.us/img3/7825/birincit.jpg" alt="" width="164" height="159" /></p>
<pre class="brush: csharp;">long sayi = 10000000;
string deger = sayi.ToString(&quot;C&quot;);
MessageBox.Show(deger);</pre>
<p>Bu şekilde C parametresi verdiğimizde sayıyı para birimiyle beraber yazdırır.</p>
<p>2-) N Parametresi:</p>
<p><img class="alignleft" title="Csharp" src="http://img54.imageshack.us/img54/1602/ikinci.jpg" alt="" width="157" height="157" /></p>
<pre class="brush: csharp;">long sayi = 10000000;
string deger = sayi.ToString(&quot;N&quot;);
MessageBox.Show(deger);</pre>
<p>N parametresi verdiğimizde sayıyı binlik hanelere böler.</p>
<p>3-) D Parametresi:</p>
<p><img class="alignleft" title="C#" src="http://img54.imageshack.us/img54/9707/cnc.jpg" alt="" width="155" height="152" /></p>
<pre class="brush: csharp;">long sayi = 10000000;
string deger = sayi.ToString(&quot;D11&quot;);
MessageBox.Show(deger);</pre>
<p>D parametresi, verilen sayıyının basamak miktarını yanındaki sayıya tamamlar.</p>
<p>4-) P  Parametresi:</p>
<p><img class="alignleft" title="Tostring" src="http://img228.imageshack.us/img228/2302/dortc.jpg" alt="" width="156" height="157" /></p>
<pre class="brush: csharp;">long sayi = 0.50;
string deger = sayi.ToString(&quot;P&quot;);
MessageBox.Show(deger);</pre>
<p>P parametresi ile, verilen double sayı, yüzdelik karşılığına çevrilir.</p>
<p>5-) F Parametresi:</p>
<p><img class="alignleft" title="Csharp tostring" src="http://img228.imageshack.us/img228/7656/besr.jpg" alt="" width="158" height="153" /></p>
<pre class="brush: csharp;">long sayi = 0.50;
string deger = sayi.ToString(&quot;N5&quot;);
MessageBox.Show(deger);</pre>
<p>N parametresi ile virgülden sonra kaç basamak gösterileceğini belirlersiniz.</p>
]]></content:encoded>
			<wfw:commentRss>http://turkcekaynak.net/programlama/c-sharp/c-parametreli-tostring-metodu.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>SqlBulkCopy Class kullanımı</title>
		<link>http://turkcekaynak.net/programlama/c-sharp/sqlbulkcopy-class-kullanimi.html</link>
		<comments>http://turkcekaynak.net/programlama/c-sharp/sqlbulkcopy-class-kullanimi.html#comments</comments>
		<pubDate>Sat, 12 Sep 2009 00:12:11 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[C#]]></category>
		<category><![CDATA[sqlbulkcopy]]></category>
		<category><![CDATA[sqlbulkcopy c]]></category>
		<category><![CDATA[sqlbulkcopy column mapping]]></category>

		<guid isPermaLink="false">http://turkcekaynak.net/?p=507</guid>
		<description><![CDATA[SqlBulkCopy sınıfı, iki veritabanı arasında veya aynı veritabanı içindeki, iki tablo arasında kopyalama yapmak için kullanılan çok basit bir sınıftır. Bu sınıf ile 500.000 adet veriyi 1 dakika içerisinde kopyalayabilmektesiniz. Bu açıdan oldukça kullanışlıdır. Şimdi bir örnekte bunu inceleyelim. İlk olarak bir Windows form açalım. Ve bir adet buton ekleyelim. Butonun click olayına şağıdaki kodları [...]]]></description>
			<content:encoded><![CDATA[<p>SqlBulkCopy sınıfı, iki veritabanı arasında veya aynı veritabanı içindeki, iki tablo arasında kopyalama yapmak için kullanılan çok basit bir sınıftır. Bu sınıf ile 500.000 adet veriyi 1 dakika içerisinde kopyalayabilmektesiniz. Bu açıdan oldukça kullanışlıdır. Şimdi bir örnekte bunu inceleyelim.</p>
<p>İlk olarak bir Windows form açalım. Ve bir adet buton ekleyelim. Butonun click olayına şağıdaki kodları yazalım.</p>
<pre class="brush: csharp;">private void button1_Click(object sender, EventArgs e)

{

SqlConnection baglanti1 = new SqlConnection(&quot;server=localhost; initial catalog=Ticari; integrated security=true&quot;);

//ilk olarak kopyalayacağımız veritabanı için bağlantı oluşturduk.

SqlCommand komut = new SqlCommand(&quot;select * from stok&quot;, baglanti1);

baglanti1.Open();

SqlDataReader oku = komut.ExecuteReader();

DataTable dt = new DataTable();

dt.Load(oku);

oku.Close();

baglanti1.Close();

// veritabanını okuyup, bir datatable'a aktardık ve bağlantıyı kapattık.

SqlConnection baglanti2=new SqlConnection(&quot;server=localhost; initial catalog=kopyaTicari; integrated security=true&quot;);

// şimdi de hedef veritabanı için bir bağlantı oluşturduk.

// Not: Eğer kopyalayacağınız tablolar aynı veritabanı içindeyse tek bir bağlantı yeterlidir. ben farklı veritabanları arasında kopyalama yaptığım için iki farklı bağlantı oluşturdum.

SqlBulkCopy kopyalama = new SqlBulkCopy(baglanti2);

// SqlBulkCopy sınıfından bir adet nesne türettik. Dikkat ettiyseniz bağlantı olarak hedef veritabanının bağlantısını verdik.

baglanti2.Open();

kopyalama.ColumnMappings.Add(&quot;id&quot;, &quot;id&quot;);

kopyalama.ColumnMappings.Add(&quot;Malzeme&quot;, &quot;Malzeme&quot;);

kopyalama.ColumnMappings.Add(&quot;Adet&quot;, &quot;Adet&quot;);

// bu üç satırda kaynak tablodaki sutunların, hedef tablodaki hangi sütunlara kopyalanacağını belirttik.

kopyalama.DestinationTableName = &quot;dbo.kopyastok&quot;;

// hedef tablonun ismini belirttik.

kopyalama.WriteToServer(dt);

// kopyalamaya başladık.

baglanti2.Close();

}</pre>
<p>Burda kodları tekrar açıklamayacağım zaten yanlarında hepsini açıkladım. Eklemek istediğim bir şey var. Ben burada tablonun tamamını kopyaladım. Eğer isteseydim sadece bir ya da iki sütunu da koyalayabilirdim. Bunu, sütunları eşleştirdiğimiz kod satırlarında sağlarız. Mesela aşağıdaki gibi olsaydı sadece id ve Malzeme sütunlarını kopyalamış olacaktık.</p>
<pre class="brush: csharp;">kopyalama.ColumnMappings.Add(&quot;id&quot;, &quot;id&quot;);

kopyalama.ColumnMappings.Add(&quot;Malzeme&quot;, &quot;Malzeme&quot;);</pre>
<p>Son olarak şunu belirteyim, hedef veritabanını ve tabloyu daha önce kendimiz oluşturduk. Bunu istersek bir kodla da yapabiliriz ama o kısmı burada değil başka bir yazımda ele alacağım. Şimdilik bu kadar yeter <img src='http://turkcekaynak.net/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://turkcekaynak.net/programlama/c-sharp/sqlbulkcopy-class-kullanimi.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Sql trigger tutorial</title>
		<link>http://turkcekaynak.net/programlama/sql/sql-trigger-tutorial.html</link>
		<comments>http://turkcekaynak.net/programlama/sql/sql-trigger-tutorial.html#comments</comments>
		<pubDate>Fri, 11 Sep 2009 21:36:04 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[SQL]]></category>
		<category><![CDATA[sql trigger example]]></category>
		<category><![CDATA[sql trigger insert]]></category>
		<category><![CDATA[sql trigger örnekleri]]></category>
		<category><![CDATA[sql trigger sample]]></category>
		<category><![CDATA[sql trigger update]]></category>

		<guid isPermaLink="false">http://turkcekaynak.net/?p=501</guid>
		<description><![CDATA[Trigger kelime anlamı olarak tetikleyici demektir. trigger, SQL’de bir sorgu çalıştırdığımızda, başka bir sorgunun çalışmasını sağlamak için yazılan koddur. Mesela bir tablodan kayıt sildiğimizde, başka bir tablodan onunla ilgili bir kaydın silinmesi için kullanabiliriz. Yada bir tabloya eklem yaptığımızda başka bir tabloya da onunla ilgili olan bilgileri eklemek iin kullanabiliriz. Üç farklı işlem için trigger [...]]]></description>
			<content:encoded><![CDATA[<p>Trigger kelime anlamı olarak tetikleyici demektir. trigger, SQL’de bir sorgu çalıştırdığımızda, başka bir sorgunun çalışmasını sağlamak için yazılan koddur. Mesela bir tablodan kayıt sildiğimizde, başka bir tablodan onunla ilgili bir kaydın silinmesi için kullanabiliriz. Yada bir tabloya eklem yaptığımızda başka bir tabloya da onunla ilgili olan bilgileri eklemek iin kullanabiliriz. Üç farklı işlem için trigger vardır. Bunlar; insert, update, delete sorguları içindir. Örnek verdiğimiz zaman daha iyi anlayacaksınız.</p>
<p>1-<strong>İnsert için trigger:</strong> Bir tabloya kayıt eklediğimizde başka bir tabloda kendiliğinden bir işlemin gerçekleşmesi için yazılır. Aşağıda bunun için bir örnek vardır beraber inceleyelim. Bu trigger, satis isimli tabloya ekleme yaptığımızda, urunler isimli tablodan, satılan ürünün sayısını yapılan satış kadar azaltmak için kullanılmaktadır.</p>
<pre class="brush: sql;">create trigger stokGuncelle on satis --bu satırda trigger adını yazıyoruz ve tetiklemenin kaynağı olan tabloyu yazıyoruz.
for insert --buraya dikkat edin. trigger’ın hangi komut için yazıldığını gösterir.
as
begin
declare @satisAdedi int, @urunid int -- iki adet değişken belirliyoruz.
select @satisAdedi=satisadedi, @urunid=urunid from inserted --yaptığımız insert işleminde satisadedi ve urunid değerlerini alıp bunları daha önce belirlediğimiz değişkenlere atıyoruz
update urunler set stokadedi=stokadedi-@satisAdedi where urunid=@urunid --şimdi aldığımız değişkenleri başka bir tabloda değişiklik yapmak için kullanıyoruz.
end</pre>
<p>2- <strong>Update için trigger:</strong> Bir tabloda güncellemede yaptığımızda başka bir tabloda da güncelleme yapmak için kullanılır. Burada dikkat edilmesi gereken, update işleminin çalışma mantığıdır. Aslında direk olarak update diye birşey yoktur. Update aslında iki basamakta gerçekleşir. Birinci adımda güncelleme yapacağımız satır silinir, ikinci adımda ise o satır yeniden eklenir ama bu sefer güncel değerleri eklenir. Şimdi tirgger kodumuzu inceleyelim.</p>
<pre class="brush: sql;">create trigger duzelt on satisfor update-- update işlemi ile tetiklemenin başlatıldığını gösterir.
as
begin
declare @yenisatisadedi int, @satisadedi int, @urunid int
select @satisAdedi=satisadedi, @urunid=urunid from deleted --silme işleminde silinen satırdaki satisadedi ve urunid değerlerini alıyoruz.
select @yenisatisadedi=satisadedi , @urunid=urunid from inserted --ekleme işleminde eklene satisadedi ve urunid değerlerini alıyoruz.
if(@yenisatisadedi&lt;@satisadedi) --eğer eklenen satisadedi değeri silinen satisadedi değerinden küçük ise işlem yapar. yani güncelleme yaptığımız değer eski değerden az ise.
begin
update urunler set stokadedi=stokadedi-(@satisadedi-@yenisatisadedi)

where urunid=@urunid -- ürünlerdeki stokadedini güncelleme yaptığımızda satisadedi değerindeki değişim kadar azaltır.
end
else
begin
update urunler set stokadedi=stokadedi+(@yenisatisadedi-@satisadedi)
where urunid=@urunid-- ürünlerdeki stokadedini güncelleme yaptığımızda satisadedi değerindeki değişim kadar artırır.
end
end</pre>
<p>Bu kod ile, satış tablosunda bir satırı güncellediğimizde, ürünler tablosunda o ürünün stok adedi değiştiriliyor. Yukarıda update işleminin iki basamakta gerçekleştiğini söylemiştik. Kodda da görüldüğü gibi ilk olarak silme işleminde silinen değerleri alıyoruz. Daha sonra ekleme işleminde eklenen değerleri de yeni değerler olarak alıyoruz. Sonra bu değerleri karşılaştırarak değişim miktarına göre ürünlerdeki stok adedini de güncelliyoruz.</p>
<p>3- <strong>Delete için trigger:</strong> Bu trigger de bir tabloda silme işlemi gerçekleştiğine başka bir tabloda değişiklik yamak için kullanılır. Aşağıdaki kodda satış tablosundan bir satırı sildiğimizde ürünler tablosunda değişiklik yapılıyor. Mesela bir ürünün satışını yaptınız ve satış yaptığınız anda ürünün stok adedini azalttınız. Ama bir aksilik çıktı satışı iptal ettiniz bu durumda ürünü yeniden stoğa eklemeniz gerekmektedir. Aşağıdaki kod da bu işe yaramaktadır.</p>
<pre class="brush: sql;">create trigger iptalEt on satisfor delete
as
begin
declare @satisAdedi int, @urunid int
select @satisAdedi=satisadedi, @urunid=urunid from deleted -- silinen satisadedi ve urunid değerlerini alıyoruz.
update urunler set stokadedi=stokadedi+@satisAdedi --satış tablosundan silinen ürün miktarı kadar ürünü ürünler tablosunda ekliyoruz.
where urunid=@urunid
end</pre>
]]></content:encoded>
			<wfw:commentRss>http://turkcekaynak.net/programlama/sql/sql-trigger-tutorial.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Inheritance (Miras)</title>
		<link>http://turkcekaynak.net/programlama/cpp/inheritance-miras.html</link>
		<comments>http://turkcekaynak.net/programlama/cpp/inheritance-miras.html#comments</comments>
		<pubDate>Thu, 16 Jul 2009 07:45:27 +0000</pubDate>
		<dc:creator>nouscomd</dc:creator>
				<category><![CDATA[C++]]></category>
		<category><![CDATA[c#]]></category>
		<category><![CDATA[class]]></category>
		<category><![CDATA[inheritance]]></category>
		<category><![CDATA[miras]]></category>
		<category><![CDATA[sınıf]]></category>

		<guid isPermaLink="false">http://turkcekaynak.net/?p=303</guid>
		<description><![CDATA[Sizlere bu yazıda inheritance’ın programlamada ne anlama geldiğinden bahsedeceğim. Inheritance genel olarak Oject Oriented Programming&#8217;in (Nesne Yönelimli Programlama) kullanılan bir prensiptir. En basit  şekliyle: inheritance sayesinde bir sınıfın metodlarını kullanan başka sınıflar türetilebilmesine yarar diyebiliriz. Ana sınıflara (&#8216;base class&#8217;) yeni özellikler ekleyerek ya da gerekirse sahip olduğu özellikleri değiştirerek yeni altsınıflar (&#8216;derived class&#8217;) oluşturma yoludur. [...]]]></description>
			<content:encoded><![CDATA[<p><span>Sizlere bu yazıda inheritance’ın programlamada ne anlama geldiğinden bahsedeceğim.</span><span> Inheritance genel olarak Oject Oriented Programming&#8217;in (Nesne Yönelimli Programlama) kullanılan bir prensiptir. </span><span>En basit  şekliyle: inheritance sayesinde bir sınıfın metodlarını kullanan başka  sınıflar türetilebilmesine yarar diyebiliriz. </span>Ana sınıflara (&#8216;base class&#8217;) yeni özellikler ekleyerek ya da gerekirse sahip  olduğu özellikleri değiştirerek yeni altsınıflar (&#8216;derived class&#8217;) oluşturma  yoludur. Örneğin; bir otobüs ve kamyon adında sınıfınız varsa bunların ortak özelliklerinde oluşan bir araç sınıfı yazarız. Otobüs ve kamyon,  bu araç sınıfından türemiş olur. Yani hiyerarşik bir yapı söz konusudur.<br />
<strong>Önce araç (vehicle class) sınıfını yazalım.</strong></p>
<pre class="brush: cpp;">#include&lt;iostream&gt;
#include&lt;string&gt;
using namespace std;
class Vehicle
{
private:
	string name;
	string sound;
	int speed;
	int weight;
public:

	Vehicle(string n,string s,int sp,int w)
	{
		name=n;
		sound=s;
		speed=sp;
		weight=w;
	}
	void show()
	{
		cout&lt;&lt;&quot;Name.:&quot;&lt;&lt;name&lt;&lt;endl;
		cout&lt;&lt;&quot;Sound.:&quot;&lt;&lt;sound&lt;&lt;endl;
		cout&lt;&lt;&quot;Speed.:&quot;&lt;&lt;speed&lt;&lt;endl;
		cout&lt;&lt;&quot;Weight.:&quot;&lt;&lt;weight&lt;&lt;endl;
	}

	void makeSound(int n=1)
	{
		for(int i=0;i&lt;n;i++)
		{
			cout&lt;&lt;sound&lt;&lt;&quot; &quot;;
		}
		cout&lt;&lt;endl;
	}
};</pre>
<p><strong>Şimde de onda türeyecek olan kamyon sınıfını yazalım.</strong><span id="more-303"></span></p>
<pre class="brush: cpp;">class Truck:public Vehicle
{
private:
	int loadcapacity;
	int loaded;
public:
	Truck(string n,string s,int sp,int w,int lc):Vehicle(n,s,sp,w)
	{
		loadcapacity=lc;
		loaded=0;
	}

	void load(int ld)
	{
		if (ld&lt;0) ld=0;
		else if(ld &gt;loadcapacity) ld=loadcapacity;
		loaded=ld;
	}
	void show()
	{
		Vehicle::show();
		cout&lt;&lt;&quot;LoadCapacity.:&quot;&lt;&lt;loadcapacity&lt;&lt;endl;
		cout&lt;&lt;&quot;Loaded.:&quot;&lt;&lt;loaded&lt;&lt;endl;
	}

};</pre>
<p><strong>Ve son olarak gene araç sınıfından türemiş otobüs sınıfını yazalım.</strong></p>
<pre class="brush: cpp;">class Bus:public Vehicle
{
private:
	int noOfpeople;
	int ticketprice;
	int money;
public:
	Bus(string n,string s,int sp,int w,int no,int p):Vehicle(n,s,sp,w)
	{
		noOfpeople=no;
		ticketprice=p;
	}
	void getMoney()
	{
		money=noOfpeople*ticketprice;
	}
	void show()
	{
		Vehicle::show();
		cout&lt;&lt;&quot;Number of People.:&quot;&lt;&lt;noOfpeople&lt;&lt;endl;
		cout&lt;&lt;&quot;Ticket Price.:&quot;&lt;&lt;ticketprice&lt;&lt;endl;
		cout&lt;&lt;&quot;Money.:&quot;&lt;&lt;money&lt;&lt;endl;
	}
};
</pre>
]]></content:encoded>
			<wfw:commentRss>http://turkcekaynak.net/programlama/cpp/inheritance-miras.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Recursive Fonksiyonlar</title>
		<link>http://turkcekaynak.net/programlama/cpp/recursive-fonksiyonlar.html</link>
		<comments>http://turkcekaynak.net/programlama/cpp/recursive-fonksiyonlar.html#comments</comments>
		<pubDate>Thu, 02 Jul 2009 12:49:38 +0000</pubDate>
		<dc:creator>nouscomd</dc:creator>
				<category><![CDATA[C++]]></category>
		<category><![CDATA[c#]]></category>
		<category><![CDATA[faktoriyel]]></category>
		<category><![CDATA[fibonacci]]></category>
		<category><![CDATA[fonksiyon]]></category>
		<category><![CDATA[recursion]]></category>
		<category><![CDATA[recursive]]></category>

		<guid isPermaLink="false">http://turkcekaynak.net/?p=171</guid>
		<description><![CDATA[Recursive fonksiyonlar herhangi bir döngü kullanmadan (for, do while, while..) kendisini çağırarak yazılan fonksiyonlardır. Örneğin; faktoriyel hesaplayan bir fonksiyonu önce normal bir şekilde sonra recursive şekilde yazalim. int faktoriyel(int n) { int fakt=1; for(int i=1; i&#60;=n; i++) { fakt=fakt*i; } return fakt; } Şimde de recursive şekilde yazalım.. int faktoriyel(int n) { if (n==1) return [...]]]></description>
			<content:encoded><![CDATA[<p>Recursive fonksiyonlar herhangi bir döngü kullanmadan (for, do while, while..) kendisini çağırarak yazılan fonksiyonlardır.</p>
<p>Örneğin; faktoriyel hesaplayan bir fonksiyonu önce normal bir şekilde sonra recursive şekilde yazalim.</p>
<pre class="brush: cpp;">

int faktoriyel(int n)
{
       int fakt=1;
       for(int i=1; i&lt;=n; i++)
       {
            fakt=fakt*i;
       }
       return fakt;
}
</pre>
<p>Şimde de recursive şekilde yazalım..<span id="more-171"></span></p>
<pre class="brush: cpp;">
int faktoriyel(int n)
{
       if (n==1)
            return 1;
       else
            return n*faktoriyel(n-1) ;
}
</pre>
<p><strong><center>Başka recursive foksiyon örnekleri</center></strong></p>
<pre class="brush: cpp;">void draw(int count, int limit)
{
      if (count &lt;= limit)
      {
             for(int i = 0 ; i &lt; count ; i++)
                   cout &lt;&lt; &quot;*&quot; ;
             cout &lt;&lt; endl;
             draw(count + 1, limit);
       }
}
</pre>
<p>Eğer fonksiyon çalıştırılırsa &#8211;> draw(3,7);<br />
<strong>***<br />
****<br />
*****<br />
******<br />
*******</strong><br />
<center>&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-</center></p>
<pre class="brush: cpp;">void countUntil(int low, int up)
{
      if (low &lt;= up)
      {
             cout &lt;&lt; low &lt;&lt;&quot; &quot;;
             countUntil(low + 1, up);
       }
}
</pre>
<p>Eğer fonksiyon çalıştırılırsa &#8211;> countUnti(2,8);<br />
<strong>2 3 4 5 6 7 8</strong><br />
<center>&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-</center><br />
Bir dizideki en büyük elemanı bulan recursive fonksiyonu yazalım.</p>
<pre class="brush: cpp;">int enBuyuk(int dizi[],int ilk, int son)
{
      int buyuk;
      if(ilk==son)
             return dizi[ilk];
      else
      {
	     buyuk=enBuyuk(dizi,ilk+1,son);
	     if(dizi[ilk]&gt;=buyuk)
                  return dizi[ilk];
	    else
                  return buyuk;
     }
}
</pre>
<p>Eğer  dizi[5]={5,23,28,7,1} olursa enBuyuk(dizi,0,4);<br />
NOT: 0 ile 4 başlangıç ve son indisler..<br />
<strong>28</strong><br />
<center>&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-</center><br />
Fibonacci sayisini bulan recursive fonksiyon..</p>
<pre class="brush: cpp;">int Fib(int n)
{
      if (n&lt;=1) return n;
      else return Fib(n-1) + Fib(n-2);
}
</pre>
<p>{fn } = 0,1,1,2,3,5,8,13,21,34,55,… (fibonacci serisi)<br />
Eğer fonksiyon çalıştırılırsa &#8211;><br />
<strong>Fib(4); // 3<br />
Fib(5); // 5<br />
Fib(6); // 8</strong></p>
]]></content:encoded>
			<wfw:commentRss>http://turkcekaynak.net/programlama/cpp/recursive-fonksiyonlar.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Sql&#8217;de tablo oluşturmak, veri girmek ve veri çekmek</title>
		<link>http://turkcekaynak.net/programlama/sql/tablo-olusturma-veri-girme-cekme.html</link>
		<comments>http://turkcekaynak.net/programlama/sql/tablo-olusturma-veri-girme-cekme.html#comments</comments>
		<pubDate>Wed, 01 Jul 2009 15:52:55 +0000</pubDate>
		<dc:creator>nouscomd</dc:creator>
				<category><![CDATA[SQL]]></category>
		<category><![CDATA[create table]]></category>
		<category><![CDATA[database]]></category>
		<category><![CDATA[insert into]]></category>
		<category><![CDATA[select]]></category>

		<guid isPermaLink="false">http://turkcekaynak.net/?p=149</guid>
		<description><![CDATA[SQL ile “Araba Kiralama” ( Rent a car ) için bir database oluşturalim. Database yapısında 5 tane tablo(relation) olacak. Customer tablosu, araba kiralayan kullanıcıların bilgilerini tutacak. Branchs tablosu, birden fazla şubeden kiralama yapıldığı için bu şubelerin adlarını tutacak. Car tablosu, kiralanan araba bilgilerini(model, marka&#8230;vs) tutacak. Salesman tablosu, bu şubelerde çalışan müşteri temsilcilerinin bilgilerini tutacak. Rent_info [...]]]></description>
			<content:encoded><![CDATA[<p>SQL ile “Araba Kiralama” ( Rent a car ) için bir database oluşturalim. Database yapısında 5 tane tablo(relation) olacak.</p>
<p><em>Customer</em> tablosu, araba kiralayan kullanıcıların bilgilerini tutacak.</p>
<p><em>Branchs tablosu</em>, birden fazla şubeden kiralama yapıldığı için bu şubelerin adlarını tutacak.</p>
<p><em> </em></p>
<p><em>Car tablosu</em>, kiralanan araba bilgilerini(model, marka&#8230;vs) tutacak.</p>
<p><em> </em></p>
<p><em>Salesman</em> tablosu, bu şubelerde çalışan müşteri temsilcilerinin bilgilerini tutacak.</p>
<p><em> </em></p>
<p><em>Rent_info</em> tablosu, kiralama işleminlerinin kaydını tutacak. Kimin hangi arabayi nezaman ve kimden aldığının bilgileri yer alacak.</p>
<p>Öncelikle bu tabloları oluşturacak SQL cümleciklerini yazalim.</p>
<p>Customer tablosu için:</p>
<pre class="brush: sql;">CREATE TABLE customer(cus_id number(5) primary key,fname varchar2(20) NOT NULL,lname varchar2(20) NOT NULL,birth_date date);</pre>
<p>Branchs tablosu için:</p>
<pre class="brush: sql;">CREATE TABLE branchs(branch_id number(3) primary key,branch_name varchar2(20) NOT NULL);</pre>
<p>Car tablosu için:</p>
<pre class="brush: sql;">CREATE TABLE car(car_id number(5) primary key,car_model number(4) NOT NULL,car_name varchar2(20) NOT NULL,branch_id number(3) references branch(branch_id));  </pre>
<p>Salesman tablosu için:</p>
<pre class="brush: sql;">CREATE TABLE salesman(sales_id number(5) primary key, s_fname varchar2(20) NOT NULL, s_lname varchar2(20) NOT NULL, branch_id number(3) references branch(branch_id)); </pre>
<p>Rent_info tablosu için:</p>
<pre class="brush: sql;">CREATE TABLE rent_info(rent_id number(5) primary key, cus_id number(5) references customer(cus_id),  car_id number(5) references car(car_id), rent_date date, sales_id number(5) references salesman(sales_id ));</pre>
<p style="text-align: center;"><a class="highslide-image" onclick="return hs.expand(this);" href="http://img7.imageshack.us/img7/1603/25579752.jpg"><img class="aligncenter" title="Büyüt" src="http://img36.imageshack.us/img36/5238/16930105.jpg" alt="image" width="150" height="102" /></a></p>
<p style="text-align: center;"><span id="more-149"></span></p>
<p>Tabloları oluşturduk. Şimdi bu tablolar için veri girişleri yapacak SQL cümlelerini yazalım. Örnek olarak her tablo için birer tane sql cümlesi yazacağım.</p>
<p><!--more--></p>
<p><!--Devam--></p>
<pre class="brush: sql;">INSERT INTO customer VALUES (1 , 'Hakan','Kesen', TO_DATE ('12.05.1980', 'dd.mm.yyyy'));</pre>
<pre class="brush: sql;">INSERT INTO branchs VALUES(1,'Beşiktaş');</pre>
<pre class="brush: sql;">INSERT INTO car VALUES(1,2006,'BMW',1);</pre>
<pre class="brush: sql;">INSERT INTO salesman VALUES(11,'Ali','Arcak',1);</pre>
<pre class="brush: sql;">INSERT INTO rent_info VALUES(100, 1, 1,TO_DATE(' 11.12.2008', 'dd.mm.yyyy'), 11);</pre>
<p>Veri girişlerinde dikkat edilmesi gerek şey  tablolardaki bağlantıların mantıklı bir şekilde girilmesi. Örneğin, x arabası, y şubesinden satıldıysa o satışı yapan satış sorumlusu da o şubeden olması gerekir.</p>
<p>Şimdi de birden fazla tablodan veri çekmek için gerekli sql cümleciklerini yazalım.</p>
<p><!--more--></p>
<ol>
<li>2004 ve daha yeni model araba kiralayanların ad ve soyadlarını görünteliyiniz.
<p style="text-align: center;"><a class="highslide-image" onclick="return hs.expand(this);" href="http://img200.imageshack.us/img200/6089/select1.jpg"><img title="Click to enlarge" src="http://img15.imageshack.us/img15/6089/select1.jpg" alt="image" /></a></p>
<pre class="brush: sql;">SELECT fname,  lname,  car_model FROM customer, car, rent_info WHERE customer.cus_id=rent_info.cus_id AND rent_info.car_id=car.car_id AND car_model&gt;=2004;</pre>
</li>
<li><strong> </strong>Şişli şubesinden araba kiralayanlarin ad-soyadlari ile kiraladıkları araba bilgilerini gösteriniz.
<p style="text-align: center;"><a class="highslide-image" onclick="return hs.expand(this);" href="http://img135.imageshack.us/img135/4074/select2j.jpg"><img class="aligncenter" title="Büyüt" src="http://img20.imageshack.us/img20/2154/select2.jpg" alt="image" width="150" height="13" /></a></p>
<pre class="brush: sql;">SELECT fname, lname, car_model, car_name, branch_name FROM customer, car, rent_info, branchs WHERE customer.cus_id=rent_info.cus_id AND rent_info.car_id=car.car_id AND car.branch_id=branchs.branch_id AND branch_name='Şişli'; </pre>
</li>
<li>Derya Seven adlı müşteri temsilcisinden araba kiralayanlarin ad-soyadlarini gösteriniz.
<p style="text-align: center;"><a class="highslide-image" onclick="return hs.expand(this);" href="http://img148.imageshack.us/img148/4387/select3.jpg"><img class="aligncenter" title="Büyüt" src="http://img197.imageshack.us/img197/4387/select3.jpg" alt="image" width="150" height="13" /></a></p>
<pre class="brush: sql;">SELECT fname, lname FROM customer, rent_info, salesman WHERE customer.cus_id=rent_info.cus_id AND salesman.sales_id=rent_info.sales_id AND s_fname='Derya' AND s_lname='Seven'; </pre>
</li>
<li>28.08.2008 tarihinden önce kiralanan araba ve şube isimlerinin görüntüleyiniz.(Tarihleriyle beraber sıralı bir biçimde)
<p style="text-align: center;"><a class="highslide-image" onclick="return hs.expand(this);" href="http://img141.imageshack.us/img141/5359/select4.jpg"><img class="aligncenter" title="Büyüt" src="http://img5.imageshack.us/img5/5359/select4.jpg" alt="image" width="150" height="24" /></a></p>
<pre class="brush: sql;"> SELECT branch_name, rent_date, car_name FROM car, rent_info, branchs WHERE rent_info.car_id=car.car_id AND car.branch_id=branchs.branch_id AND rent_date&lt;=To_date ('28.08.2008', 'dd.mm.yyyy') order by rent_date;</pre>
</li>
<li><strong> </strong>31 yaşından büyük müşterilerin(araba kiralayan) ad-soyadini gösteriniz.(Doğum tarihleriyle birlikte)
<p style="text-align: center;"><a class="highslide-image" onclick="return hs.expand(this);" href="http://img219.imageshack.us/img219/4812/select5.jpg"><img class="aligncenter" title="Büyüt" src="http://img4.imageshack.us/img4/4812/select5.jpg" alt="image" width="150" height="15" /></a></p>
<pre class="brush: sql;">SELECT fname, lname, birth_date FROM customer WHERE birth_date &lt;=To_date('1978', 'yyyy ');</pre>
</li>
</ol>
]]></content:encoded>
			<wfw:commentRss>http://turkcekaynak.net/programlama/sql/tablo-olusturma-veri-girme-cekme.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>C#&#8217;da access e bağlanmak ve veri çekmek</title>
		<link>http://turkcekaynak.net/programlama/c-sharp/access-e-baglanmak-ve-veri-cekmek.html</link>
		<comments>http://turkcekaynak.net/programlama/c-sharp/access-e-baglanmak-ve-veri-cekmek.html#comments</comments>
		<pubDate>Tue, 30 Jun 2009 10:36:03 +0000</pubDate>
		<dc:creator>nouscomd</dc:creator>
				<category><![CDATA[C#]]></category>
		<category><![CDATA[access]]></category>
		<category><![CDATA[c#]]></category>
		<category><![CDATA[c# da databaseden veri cekmek]]></category>
		<category><![CDATA[csharp]]></category>
		<category><![CDATA[database]]></category>
		<category><![CDATA[OleDbConnection]]></category>

		<guid isPermaLink="false">http://turkcekaynak.net/?p=81</guid>
		<description><![CDATA[Aşağıdaki örnekte c#da access&#8217;e bağlanıp verileri bir buton sayesinde listboxa ekleyeceğiz.. 1. database dosyasi (*.mdb) projenin kayıtlı olduğu klasörde bin/debug klasörünün içinde  olmalıdır. 2. data.oleb import edilmelidir. using System.Data.OleDb; 3. bağlantıyı gerçekleştirecek kod parcasi her veri cekme isleminde kullanılacağı için bir fonksiyon halinde yazılması işleri kolaylaştıracaktır. using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using [...]]]></description>
			<content:encoded><![CDATA[<p>Aşağıdaki örnekte c#da access&#8217;e bağlanıp verileri bir buton sayesinde listboxa ekleyeceğiz..</p>
<p><img class="alignnone" src="http://img198.imageshack.us/img198/9176/aftery.jpg" alt="" width="452" height="340" /></p>
<p>1. database dosyasi (*.mdb) projenin kayıtlı olduğu klasörde bin/debug klasörünün içinde  olmalıdır.</p>
<p>2. data.oleb import edilmelidir.<br />
using System.Data.OleDb;</p>
<p>3. bağlantıyı gerçekleştirecek kod parcasi her veri cekme isleminde kullanılacağı için bir fonksiyon halinde yazılması işleri kolaylaştıracaktır.</p>
<pre class="brush: csharp;">using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.Data.OleDb;

namespace WindowsFormsApplication3
{
   public partial class Form1 : Form
   {
		public Form1()
		{
			InitializeComponent();
		}
		public OleDbConnection baglanti;
		public void Baglanti()
     {
			try
			{
				baglanti = new OleDbConnection
            (&quot;Provider=Microsoft.Jet.OLEDB.4.0;Data Source=courses.mdb&quot;);
				baglanti.Open();
			}
			catch (OleDbException ex)
			{
				MessageBox.Show(ex.Message);
         }
		}
		private void Verileri_yazdirma()
     {
				OleDbCommand komut;
				OleDbDataReader oku;
				try
				{
					Baglanti();
					komut = new OleDbCommand();
                 komut.CommandText =&quot;Select courseName from  course_name&quot;;
					komut.Connection = baglanti;
					oku = komut.ExecuteReader();
					while (oku.Read())
					{
						listBox1.Items.Add(oku[0]);
					}
				}
				catch (OleDbException ex)
				{
                 MessageBox.Show(ex.Message);
				}
			}
			private void button1_Click(object sender, EventArgs e)
			{
				Verileri_yazdirma();
			}
		}
}</pre>
]]></content:encoded>
			<wfw:commentRss>http://turkcekaynak.net/programlama/c-sharp/access-e-baglanmak-ve-veri-cekmek.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
