﻿
{"id":200,"date":"2012-03-15T22:25:53","date_gmt":"2012-03-15T22:25:53","guid":{"rendered":"http:\/\/www.gencayyildiz.com\/blog\/?p=200"},"modified":"2012-04-25T07:24:08","modified_gmt":"2012-04-25T07:24:08","slug":"ado-net-connected-mimari-stored-procedure-ile-calismak","status":"publish","type":"post","link":"https:\/\/www.gencayyildiz.com\/blog\/ado-net-connected-mimari-stored-procedure-ile-calismak\/","title":{"rendered":"ADO.NET Connected Mimari-Stored Procedure \u0130le \u00c7al\u0131\u015fmak"},"content":{"rendered":"<div id=\"fb-root\"><\/div>\n<p>Bu yaz\u0131mda C# ya da ASP.net ile veritaban\u0131 i\u015flemlerinde Stored Procedure kullanmay\u0131 g\u00f6sterece\u011fim.B\u00fct\u00fcn select,insert,delete ve update i\u015flemlerini ger\u00e7ekle\u015ftirirken stored procedure kullanmak en faydal\u0131 y\u00f6ntemdir.Bunun sebebi hem g\u00fcvenlidir hemde Execute sistemini bir kere \u00e7al\u0131\u015ft\u0131r\u0131p bir daha kasmamas\u0131d\u0131r.<br \/>\n<!--more--> \u015eimdi Nortwind tablomuzda a\u015fa\u011f\u0131daki gibi bir stored procedure yazal\u0131m.<\/p>\n<pre class=\"brush: jscript; title: ; notranslate\" title=\"\">\r\ncreate proc Sp_AdiGetir\r\n(\r\n\t@id int\r\n)\r\nas\r\nselect Adi from Personeller where PersonelId = @id\r\n<\/pre>\n<p>Yukardaki yazd\u0131\u011f\u0131m\u0131z stored procedur\u00fc C# k\u0131sm\u0131nda a\u015fa\u011f\u0131daki \u015fekilde kullanabiliriz.<\/p>\n<pre class=\"brush: jscript; title: ; notranslate\" title=\"\">\r\nSqlConnection baglanti = new SqlConnection(&quot;Server=GEN\u00c7AY-GEN\u00c7AY;database=Northwind;trusted_connection=true;&quot;);\r\n            baglanti.Open();\r\n            SqlCommand cmd = new SqlCommand(&quot;Sp_AdiGetir&quot;,baglanti);\r\n            cmd.CommandType = CommandType.StoredProcedure;\r\n            cmd.Parameters.AddWithValue(&quot;@id&quot;,4);\r\n            SqlDataReader dt = cmd.ExecuteReader();\r\n            if (dt.HasRows)\r\n            {\r\n                dt.Read();\r\n                MessageBox.Show(dt&#x5B;&quot;Adi&quot;].ToString());\r\n            }\r\n            baglanti.Close();\r\n            baglanti.Dispose();\r\n<\/pre>\n<p>Yukardaki kod blo\u011funu izah etmek gerekirse,<br \/>\nSqlCommand nesnesine sorgu de\u011fil,stored procedure ismini yaz\u0131yoruz.<br \/>\ncmd.CommandType = CommandType.StoredProcedure; = SqlCommand nesnemizin CommandType \u00f6zelli\u011fini yani \u00e7al\u0131\u015fma bi\u00e7imini belirtmemiz laz\u0131m.Default olarak CommandType \u00f6zelli\u011finin de\u011feri Text dir.Biz stored procedure \u00e7al\u0131\u015ft\u0131raca\u011f\u0131m\u0131z i\u00e7in StoredProcedure tipini belirtmemiz gerekiyor.<br \/>\ncmd.Parameters.AddWithValue(&#8220;@id&#8221;,4); = SqlCommand nesnesine de parametre de\u011feri g\u00f6nderirken stored proceduremizdeki parametrenin ad\u0131n\u0131 yaz\u0131yoruz.Alaca\u011f\u0131 de\u011feri ben manuel olarak 4 yapt\u0131m.Siz isterseniz bir kontrolden dinamik olarakta ald\u0131rabilirsiniz.<br \/>\nSqlDataReader dt = cmd.ExecuteReader(); = Burada dikkat etmemiz gereken nokta bu.Stored procedure i\u00e7inde \u00e7al\u0131\u015ft\u0131rd\u0131\u011f\u0131m\u0131z sorgu select sorgusu oldu\u011fundan dolay\u0131 ExecuteReader() metodunu kulland\u0131m.E\u011fer insert,update ya da delete sorgular\u0131n\u0131 kullansayd\u0131m onlar\u0131 \u00e7al\u0131\u015ft\u0131racam ExecuteNonQuery() metodunu kullanacakt\u0131m.<\/p>\n<p>\u0130\u015fte C# ya da ASP.net ile stored procedure bu \u015fekilde kullan\u0131lmaktad\u0131r.\u0130yi \u00e7al\u0131\u015fmalar.<\/p>\n<!-- AddThis Advanced Settings generic via filter on the_content --><!-- AddThis Share Buttons generic via filter on the_content -->","protected":false},"excerpt":{"rendered":"<p>Bu yaz\u0131mda C# ya da ASP.net ile veritaban\u0131 i\u015flemlerinde Stored Procedure kullanmay\u0131 g\u00f6sterece\u011fim.B\u00fct\u00fcn select,insert,delete ve update i\u015flemlerini ger\u00e7ekle\u015ftirirken stored procedure kullanmak en faydal\u0131 y\u00f6ntemdir.Bunun sebebi hem g\u00fcvenlidir hemde Execute sistemini bir kere \u00e7al\u0131\u015ft\u0131r\u0131p bir&#46;&#46;&#46;<!-- AddThis Advanced Settings generic via filter on get_the_excerpt --><!-- AddThis Share Buttons generic via filter on get_the_excerpt --><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[12,22],"tags":[129,131,124],"class_list":["post-200","post","type-post","status-publish","format-standard","hentry","category-c-sharp-c","category-veritabani","tag-ado-net","tag-connected","tag-stored-procedure"],"amp_enabled":true,"_links":{"self":[{"href":"https:\/\/www.gencayyildiz.com\/blog\/wp-json\/wp\/v2\/posts\/200","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.gencayyildiz.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.gencayyildiz.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.gencayyildiz.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.gencayyildiz.com\/blog\/wp-json\/wp\/v2\/comments?post=200"}],"version-history":[{"count":0,"href":"https:\/\/www.gencayyildiz.com\/blog\/wp-json\/wp\/v2\/posts\/200\/revisions"}],"wp:attachment":[{"href":"https:\/\/www.gencayyildiz.com\/blog\/wp-json\/wp\/v2\/media?parent=200"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.gencayyildiz.com\/blog\/wp-json\/wp\/v2\/categories?post=200"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.gencayyildiz.com\/blog\/wp-json\/wp\/v2\/tags?post=200"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}