Ana sayfa » Visual Studio’da Output Penceresine Yazmak
C# Yazılım Dilleri

Visual Studio’da Output Penceresine Yazmak

Visual Studio'de output penceresini kullanmak için using bloğuna using System.Diagnostics; eklemek ve kodlarda Debug.WriteLine(); içine yazarak ouput penceresine sonuçlarımızı yazdırabiliriz.

Seri halinde uzun uzun yazacağım yazılar olduğunda başvurduğum bir yöntem. Kodlarla for ya da foreach-lerle yazıp sonucu output/debug pencerelerine yazdırmak sonra oradan kopyalayıp işimde kullanmak.

Şimdiki senaryomTürkiye’nin il ve ilçeleri için bir insert scripti hazırlamam gerek. Burada da uzun uzun script yazmak yerine kodlarla bir foreach döngüsü kurgulayarak sonuca gideceğim. Location adlı tablomda kolonlarımı açıkladıktan sonra örneğe geçeceğim.

Location => Tablo Adı
Id => Primary Key
MasterId => Bağlı olduğu lokasyon. Mesele TÜRKİYE’nin Id değeri 1 ise, Türkiye’ye ait tüm MasterId değerleri de 1 olacaktır.
TypeId => Başka tabloda tuttuğum bir değer. Kayıtlarımda ülke, il ve ilçelerin ayrımını yapmak için oluşturduğum int kolonu. Değerleri başka tablolar alıyorum, o tabloda da başka alanlarda kullanılan tipler de olduğu için Ülkeler için 15, İller için 16 ve ilçeler için 17 değerleri denk gelmektedir.
Name => Lokasyon Adı
Code => Lokasyon Kodu
IsActive => Programda kullanılmayacaksa pasife alınması için boolean değer
IsDeleted => Global düşününce başka lokasyonler eklenebilinir, silinebilir şekilde düzenledim. Küçük tablolar için veritabanından kayıt silme taraftarı değilim, bu yüzden silmek yerine IsDeleted boolean değerde tutuyorum.

Kullandığım veritabanı PostgresSql, sizler de kullandığınız veritabanının syntaxine göre scripti güncelleyip kullanabilirsiniz. İlk önce yapacağım şey Türkiye’yi şu scriptle insert etmek sonra illeri de bir foreach ile hazırlayıp çıkan outputu script olarak kullanmak. Uzun sürecek bir işi birkaç dakika içinde çözmüş olacağız.

-- ÜLKE
INSERT INTO public."Locations"("MasterId", "TypeId", "Code", "IsActive", "IsDeleted", "Name")
VALUES (0, 15, 'TR', true, false, 'TÜRKİYE');

Yukarıdaki insert ile Türkiye’nin Id değeri 1, MasterId Değeri 0. Visual Studio içinde yeni bir Form App projesi açalım. formun hemen altına string dizi olarak illeri yazıyorum:

Form load olurken oluşturduğum kodlar şöyle:

Asıl sorumuz Visual Studio’da output penceresini kullanmaktı. Bunun için using bloğuna using System.Diagnostics; eklemek. ve Output ekranına yazdırmak istediğimizi de Debug.WriteLine(); içine yamamız gerekir.

Yukarıdaki kodları yazdıktan sonra çıktı:

INSERT INTO public."Locations"("MasterId", "TypeId", "Code", "IsActive", "IsDeleted", "Name")
VALUES
(1, 16, null, true, false, 'ADANA'),
(1, 16, null, true, false, 'ADIYAMAN'),
(1, 16, null, true, false, 'AFYON'),
(1, 16, null, true, false, 'AĞRI'),
(1, 16, null, true, false, 'AKSARAY'),
(1, 16, null, true, false, 'AMASYA'),
(1, 16, null, true, false, 'ANKARA'),
(1, 16, null, true, false, 'ANTALYA'),
(1, 16, null, true, false, 'ARDAHAN'),
(1, 16, null, true, false, 'ARTVİN'),
(1, 16, null, true, false, 'AYDIN'),
(1, 16, null, true, false, 'BALIKESİR'),
(1, 16, null, true, false, 'BARTIN'),
(1, 16, null, true, false, 'BATMAN'),
(1, 16, null, true, false, 'BAYBURT'),
(1, 16, null, true, false, 'BİLECİK'),
(1, 16, null, true, false, 'BİNGÖL'),
(1, 16, null, true, false, 'BİTLİS'),
(1, 16, null, true, false, 'BOLU'),
(1, 16, null, true, false, 'BURDUR'),
(1, 16, null, true, false, 'BURSA'),
(1, 16, null, true, false, 'ÇANAKKALE'),
(1, 16, null, true, false, 'ÇANKIRI'),
(1, 16, null, true, false, 'ÇORUM'),
(1, 16, null, true, false, 'DENİZLİ'),
(1, 16, null, true, false, 'DİYARBAKIR'),
(1, 16, null, true, false, 'DÜZCE'),
(1, 16, null, true, false, 'EDİRNE'),
(1, 16, null, true, false, 'ELAZIĞ'),
(1, 16, null, true, false, 'ERZİNCAN'),
(1, 16, null, true, false, 'ERZURUM'),
(1, 16, null, true, false, 'ESKİŞEHİR'),
(1, 16, null, true, false, 'GAZİANTEP'),
(1, 16, null, true, false, 'GİRESUN'),
(1, 16, null, true, false, 'GÜMÜŞHANE'),
(1, 16, null, true, false, 'HAKKARİ'),
(1, 16, null, true, false, 'HATAY'),
(1, 16, null, true, false, 'IĞDIR'),
(1, 16, null, true, false, 'ISPARTA'),
(1, 16, null, true, false, 'İSTANBUL'),
(1, 16, null, true, false, 'İZMİR'),
(1, 16, null, true, false, 'KAHRAMANMARAŞ'),
(1, 16, null, true, false, 'KARABÜK'),
(1, 16, null, true, false, 'KARAMAN'),
(1, 16, null, true, false, 'KARS'),
(1, 16, null, true, false, 'KASTAMONU'),
(1, 16, null, true, false, 'KAYSERİ'),
(1, 16, null, true, false, 'KIRIKKALE'),
(1, 16, null, true, false, 'KIRKLARELİ'),
(1, 16, null, true, false, 'KIRŞEHİR'),
(1, 16, null, true, false, 'KİLİS'),
(1, 16, null, true, false, 'KOCAELİ'),
(1, 16, null, true, false, 'KONYA'),
(1, 16, null, true, false, 'KÜTAHYA'),
(1, 16, null, true, false, 'MALATYA'),
(1, 16, null, true, false, 'MANİSA'),
(1, 16, null, true, false, 'MARDİN'),
(1, 16, null, true, false, 'MERSİN'),
(1, 16, null, true, false, 'MUĞLA'),
(1, 16, null, true, false, 'MUŞ'),
(1, 16, null, true, false, 'NEVŞEHİR'),
(1, 16, null, true, false, 'NİĞDE'),
(1, 16, null, true, false, 'ORDU'),
(1, 16, null, true, false, 'OSMANİYE'),
(1, 16, null, true, false, 'RİZE'),
(1, 16, null, true, false, 'SAKARYA'),
(1, 16, null, true, false, 'SAMSUN'),
(1, 16, null, true, false, 'SİİRT'),
(1, 16, null, true, false, 'SİNOP'),
(1, 16, null, true, false, 'SİVAS'),
(1, 16, null, true, false, 'ŞANLIURFA'),
(1, 16, null, true, false, 'ŞIRNAK'),
(1, 16, null, true, false, 'TEKİRDAĞ'),
(1, 16, null, true, false, 'TOKAT'),
(1, 16, null, true, false, 'TRABZON'),
(1, 16, null, true, false, 'TUNCELİ'),
(1, 16, null, true, false, 'UŞAK'),
(1, 16, null, true, false, 'VAN'),
(1, 16, null, true, false, 'YALOVA'),
(1, 16, null, true, false, 'YOZGAT'),
(1, 16, null, true, false, 'ZONGULDAK');

Form1.cs içindeki tüm kodları bir arada görmek için:

using System;
using System.Text;
using System.Windows.Forms;
using System.Diagnostics;

namespace LocationTest
{
   public partial class Form1 : Form
   {
     readonly string[] TÜRKİYE = {"ADANA","ADIYAMAN","AFYON","AĞRI","AKSARAY","AMASYA","ANKARA","ANTALYA","ARDAHAN","ARTVİN","AYDIN","BALIKESİR","BARTIN","BATMAN","BAYBURT","BİLECİK","BİNGÖL","BİTLİS","BOLU","BURDUR","BURSA","ÇANAKKALE","ÇANKIRI","ÇORUM","DENİZLİ","DİYARBAKIR","DÜZCE","EDİRNE","ELAZIĞ","ERZİNCAN","ERZURUM","ESKİŞEHİR","GAZİANTEP","GİRESUN",
"GÜMÜŞHANE","HAKKARİ","HATAY","IĞDIR","ISPARTA","İSTANBUL","İZMİR","KAHRAMANMARAŞ","KARABÜK","KARAMAN","KARS","KASTAMONU","KAYSERİ","KIRIKKALE","KIRKLARELİ","KIRŞEHİR","KİLİS","KOCAELİ","KONYA","KÜTAHYA","MALATYA","MANİSA","MARDİN","MERSİN","MUĞLA","MUŞ","NEVŞEHİR","NİĞDE","ORDU","OSMANİYE","RİZE","SAKARYA","SAMSUN","SİİRT",
"SİNOP","SİVAS","ŞANLIURFA","ŞIRNAK","TEKİRDAĞ","TOKAT","TRABZON","TUNCELİ","UŞAK","VAN","YALOVA","YOZGAT","ZONGULDAK"};

    public Form1()
    {
        InitializeComponent();
    }

    private void Form1_Load(object sender, EventArgs e)
    {
        StringBuilder sb = new StringBuilder();
        sb.Append("INSERT INTO public.\"Locations\"(\"MasterId\", \"TypeId\", \"Code\", \"IsActive\", \"IsDeleted\", \"Name\")" + Environment.NewLine);
        sb.Append("VALUES " + Environment.NewLine);
        foreach (var il in TÜRKİYE)
        {
            sb.Append($"(1, 16, null, true, false, '{il}')," + Environment.NewLine);
        }
        string query = sb.ToString();
        query = query.Substring(0, query.Length - 3);            
        Debug.WriteLine(query + ";");
    }
}
}

Projeyi indirip incelemek için indirme linki: tıklayınız…

Süleyman Düzgün

Ankara Ünv. Bilgisayar Müh.
Kıdemli Yazılım Geliştirici

Yorum Ekle

Yorum yazmak için tıklayın.