{"id":192,"date":"2019-10-12T23:35:10","date_gmt":"2019-10-12T20:35:10","guid":{"rendered":"http:\/\/www.cuneytbayrak.com\/?p=192"},"modified":"2025-02-20T23:35:31","modified_gmt":"2025-02-20T20:35:31","slug":"c-serverda-ki-tablolara-erisim","status":"publish","type":"post","link":"http:\/\/www.cuneytbayrak.com\/?p=192","title":{"rendered":"C# Serverda ki tablolara eri\u015fim"},"content":{"rendered":"<p>Serverimizde ki database isimlerine eri\u015fmek ve onlar\u0131 listeleyip \u00fczerinde i\u015flemler yapmak isteyebilirsiniz. Bu durumda a\u015fa\u011f\u0131da ki kodu incelemenizde fayda var. Geli\u015ftirmek size kalm\u0131\u015f.<\/p>\n<div class=\"wp-block-codemirror-blocks code-block \">\n<pre class=\"CodeMirror\" data-setting=\"{&quot;mode&quot;:&quot;clike&quot;,&quot;mime&quot;:&quot;text\/x-csharp&quot;,&quot;theme&quot;:&quot;material&quot;,&quot;lineNumbers&quot;:true,&quot;lineWrapping&quot;:false,&quot;styleActiveLine&quot;:false,&quot;readOnly&quot;:true,&quot;align&quot;:&quot;&quot;}\">SqlConnection cnn = new SqlConnection(\"Data Source=***********; User Id=sa; password=*********\");\r\ncnn.Open();\r\nDataTable dt = new DataTable();\r\nSqlDataAdapter dr = new SqlDataAdapter(\"SELECT name FROM sys.databases\", cnn);\r\ndr.Fill(dt);\r\n \r\ndataGridView3.DataSource = dt;\r\ncnn.Close();\r\ndataGridView3.AutoSizeColumnsMode = DataGridViewAutoSizeColumnsMode.AllCells;<\/pre>\n<\/div>\n<p><strong>Not:\u00a0using System.Data ve\u00a0using System.Data.SqlClient eklemeyi unutmay\u0131n\u2026.<\/strong><\/p>\n<p>Yukar\u0131da ki kod sayesinde serverda bulunan b\u00fct\u00fcn database leri isimleri ile listelemi\u015f olduk. \u015eimdi de se\u00e7ece\u011fimiz herhangi bir database in i\u00e7indeki tablolar\u0131 listeleyelim. Bunun i\u00e7in a\u015fa\u011f\u0131da ki kodu yazmam\u0131z gerekir.<\/p>\n<div class=\"wp-block-codemirror-blocks code-block \">\n<pre class=\"CodeMirror\" data-setting=\"{&quot;mode&quot;:&quot;clike&quot;,&quot;mime&quot;:&quot;text\/x-csharp&quot;,&quot;theme&quot;:&quot;material&quot;,&quot;lineNumbers&quot;:true,&quot;lineWrapping&quot;:false,&quot;styleActiveLine&quot;:false,&quot;readOnly&quot;:true,&quot;align&quot;:&quot;&quot;}\">private void dataGridView3_CellClick(object sender, DataGridViewCellEventArgs e)\r\n{\r\nSqlConnection cnn = new SqlConnection(\"Data Source=*****;Initial Catalog=\" + dataGridView3.Rows[e.RowIndex].Cells[0].Value.ToString() + \"; User Id=sa; password=****\"); \r\ncnn.Open(); DataTable dt = new DataTable(); \r\nSqlDataAdapter dr = new SqlDataAdapter(\"use \"+ dataGridView3.Rows[e.RowIndex].Cells[0].Value.ToString() + \" SELECT name FROM sys.Tables\", cnn); \r\ndr.Fill(dt); dataGridView4.DataSource = dt; \r\ndataGridView4.AutoSizeColumnsMode = DataGridViewAutoSizeColumnsMode.AllCells; \r\n}<\/pre>\n<\/div>\n<p>Bu kodda dikkatinizi bir yere \u00e7ekmek isterim. \u201cdataGridView3.Rows[e.RowIndex].Cells[0].Value.ToString()\u201d k\u0131sm\u0131n\u0131 anlam\u0131n\u0131z\u0131 istiyorum.<br \/>\nBen database isimlerini dataGridView3 nesnesine aktard\u0131m ve dataGridView3_CellClick olay\u0131na yazd\u0131m yukar\u0131da ki kodu. Yani\u00a0dataGridView3 \u00fczerinde h\u00fccrenin herhangi birini t\u0131klad\u0131\u011f\u0131m an t\u0131klanm\u0131\u015f olan h\u00fccrede ki database in ismine g\u00f6re o database in tablolar\u0131n\u0131\u00a0dataGridView4 nesnesi i\u00e7ine doldurdum. O y\u00fczden\u00a0\u201cdataGridView3.Rows[e.RowIndex].Cells[0].Value.ToString()\u201d ile\u00a0dataGridView3 e t\u0131klad\u0131\u011f\u0131m h\u00fccrenin de\u011ferini string olarak elde ederek\u00a0SqlConnectionString i\u00e7erisinde\u00a0Initial Catalog dedi\u011fimiz yere database ismini yazm\u0131\u015f oldum. Bu sayede\u00a0dataGridView4 nesneme se\u00e7ti\u011fim database in i\u00e7indeki tablo isimlerini yazd\u0131rm\u0131\u015f oldum. DataGridView de se\u00e7ilen h\u00fccrenin i\u00e7eri\u011fine bu \u015fekilde bir eri\u015fim oldu\u011fu gibi\u00a0<em>\u201c<a href=\"http:\/\/www.cuneytbayrak.com\/?p=27\" target=\"_blank\" rel=\"noopener noreferrer\">C# DataGridView de se\u00e7ili olan h\u00fccrenin sat\u0131r-s\u00fctun numaras\u0131n\u0131 ve h\u00fccre i\u00e7eri\u011fini getirme<\/a>\u201d\u00a0<\/em>ba\u015fl\u0131kl\u0131 yaz\u0131mda anlatt\u0131\u011f\u0131m gibi de yap\u0131labilir. Tercih size kalm\u0131\u015f.<\/p>\n<p>Buraya kadar yapm\u0131\u015f oldu\u011fumuz i\u015flemlerle serverimizde ki database lere ve database lerin i\u00e7inde ki tablolara eri\u015fim sa\u011flam\u0131\u015f olduk. Peki bu tablolar\u0131n i\u00e7inde ne var. Onlar\u0131 da g\u00f6rmek ister miyiz? E hadi buyurun g\u00f6relim.<\/p>\n<div class=\"wp-block-codemirror-blocks code-block \">\n<pre class=\"CodeMirror\" data-setting=\"{&quot;mode&quot;:&quot;clike&quot;,&quot;mime&quot;:&quot;text\/x-csharp&quot;,&quot;theme&quot;:&quot;material&quot;,&quot;lineNumbers&quot;:true,&quot;lineWrapping&quot;:false,&quot;styleActiveLine&quot;:false,&quot;readOnly&quot;:true,&quot;align&quot;:&quot;&quot;}\">private void dataGridView4_CellClick(object sender, DataGridViewCellEventArgs e)\r\n \r\n{\r\n \r\nstring a = \"\"; string b = \"\";\r\n \r\nif (dataGridView4.SelectedCells.Count &gt; 0)\r\n \r\n{\r\n \r\nint selectedrowindex = dataGridView4.SelectedCells[0].RowIndex;\r\n \r\nDataGridViewRow selectedRow = dataGridView4.Rows[selectedrowindex];\r\n \r\na = Convert.ToString(selectedRow.Cells[0].Value);\r\n \r\n}\r\n \r\nif (dataGridView3.SelectedCells.Count &gt; 0)\r\n \r\n{\r\n \r\nint selectedrowindex = dataGridView3.SelectedCells[0].RowIndex;\r\n \r\nDataGridViewRow selectedRow = dataGridView3.Rows[selectedrowindex];\r\n \r\nb = Convert.ToString(selectedRow.Cells[0].Value);\r\n \r\n}\r\n \r\nSqlConnection cnn = new SqlConnection(\"Data Source=********;Initial Catalog=\" + b + \"; User Id=sa; password=*******\");\r\n \r\ncnn.Open();\r\n \r\nDataTable dt = new DataTable();\r\n \r\nSqlDataAdapter dr = new SqlDataAdapter(\" SELECT * FROM \" + a, cnn);\r\n \r\ndr.Fill(dt);\r\n \r\ndataGridView2.DataSource = dt;\r\n \r\ndataGridView2.AutoSizeColumnsMode = DataGridViewAutoSizeColumnsMode.AllCells;\r\n \r\n}<\/pre>\n<\/div>\n<p>Tablo isimlerini DataGridView4 i\u00e7ine yazd\u0131rm\u0131\u015ft\u0131k. dataGridView4_CellClick olay\u0131na yazd\u0131\u011f\u0131m kod ile dataGridView4 nesnesinde herhangi bir h\u00fccre se\u00e7ildi\u011fi an o h\u00fccrede ki se\u00e7ili olan tablo ismine g\u00f6re dataGridView2 nesnesine o tablonun i\u00e7eri\u011fini yazd\u0131rm\u0131\u015f olduk. Burada dikkat edilmesi gereken nokta se\u00e7ilen tablonun i\u00e7indeki sat\u0131r say\u0131s\u0131 \u00e7ok fazla ise dataGridView nesneniz zorlanacak ve projeniz kilitlenecektir. Peki bunun \u00e7\u00f6z\u00fcm\u00fc ne? Bunu da bir ba\u015fka yaz\u0131da ele almak dile\u011fiyle.<\/p>\n<p>Kolay gele&#8230;<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Serverimizde ki database isimlerine eri\u015fmek ve onlar\u0131 listeleyip \u00fczerinde i\u015flemler yapmak isteyebilirsiniz. Bu durumda a\u015fa\u011f\u0131da ki kodu incelemenizde fayda var. Geli\u015ftirmek size kalm\u0131\u015f. SqlConnection cnn = new SqlConnection(&#8220;Data Source=***********; User&#8230;<\/p>\n<div class=\"more-link-wrapper\"><a class=\"more-link\" href=\"http:\/\/www.cuneytbayrak.com\/?p=192\">Devam\u0131n\u0131 Oku<span class=\"screen-reader-text\">C# Serverda ki tablolara eri\u015fim<\/span><\/a><\/div>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"iawp_total_views":1,"footnotes":""},"categories":[3],"tags":[55],"class_list":["post-192","post","type-post","status-publish","format-standard","hentry","category-c","tag-servertableacces","excerpt"],"_links":{"self":[{"href":"http:\/\/www.cuneytbayrak.com\/index.php?rest_route=\/wp\/v2\/posts\/192","targetHints":{"allow":["GET"]}}],"collection":[{"href":"http:\/\/www.cuneytbayrak.com\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/www.cuneytbayrak.com\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/www.cuneytbayrak.com\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"http:\/\/www.cuneytbayrak.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=192"}],"version-history":[{"count":1,"href":"http:\/\/www.cuneytbayrak.com\/index.php?rest_route=\/wp\/v2\/posts\/192\/revisions"}],"predecessor-version":[{"id":193,"href":"http:\/\/www.cuneytbayrak.com\/index.php?rest_route=\/wp\/v2\/posts\/192\/revisions\/193"}],"wp:attachment":[{"href":"http:\/\/www.cuneytbayrak.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=192"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/www.cuneytbayrak.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=192"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/www.cuneytbayrak.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=192"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}