Duyuruyu Kapat
Facebook Gözat
Twitter Gözat

c# sql bağlantısı

Konu, 'C#' kısmında dayca tarafından paylaşıldı.

  1. dayca

    dayca Yeni Üye

    Kayıt:
    18 Aralık 2006
    Mesajlar:
    2
    Beğenilen Mesajlar:
    0
    Okul projesi için C# ile yurt otomasyonu yapmamız istendi. Görselleri oluşturdum fakat veritabanı ile bağlantıyı (mssql 2005) bir türlü sağlayamıyorum. Veritabanıyla bağlantıyı nasıl sağlayabileceğim konusunda yardımcı olabilecek arkadaşlar varsa yardımlarını bekliyorum. Şimdiden teşekkürler
     
  2. esmaeild

    esmaeild Aktif Üye

    Kayıt:
    1 Haziran 2004
    Mesajlar:
    314
    Beğenilen Mesajlar:
    0
    Meslek:
    System Administrator & Solution Developer
    Şehir:
    istanbul
    mysql in sitesine gir orda c# ile mysqli bağlamak için bir uygulama var onu indir. onun içinden çıkan dll vs. ne çıkarsa onu programına include etmelisin. bu örneğin .nette referans gösterme şeklinde oluyor. sağ taraftaki solution explorerden referances e sağtıklayıp add referance deyip ekle. sonrada ilgili dll vs. nin içindeki mysql e ait klasları rahatlıkla kullanabilirsin.
     
  3. Memik Yanýk

    Memik Yanýk Üye

    Kayıt:
    11 Kasım 2004
    Mesajlar:
    218
    Beğenilen Mesajlar:
    0
    Şehir:
    Adana
    MS SQL Server'ın adı mssql diye yazılırsa insanlar bunu MySql olarak okuyabilirler. aşağıda verdiğim metni C# kitabımdan aldım. Bu bilgilerin ışığında yalnızca veritabanına bağlanabilirsin.

    SQL Server veritabanına bağlanırken SqlConnection nesnesinden yararlanacağım. Bu amaçla ilk olarak Form_Load() yordamında SqlConnection tipinde bir değişken tanımladım hazırladım. Ayrıca SqlConnection nesnesinin ConnectionString özelliğinin içeriğini aktar¬mak üzere “Baglanti_metni” adında bir string değişken tanımladım.

    SqlConnection Baglanti;
    string Baglanti_metni;

    Connection nesnesinin ConnectionString özelliğine çok sayıda bilgi aktarılmaktadır. Bu bilgilerin arasına noktalı virgül(;) koyarak hepsini aynı satıra yazabilirsiniz. Bu bilgilerin her birisine Segment adı verilmektedir.

    ConnectionString özelliğine aktarılacak metni yazmak size zor geliyorsa daha önce hazırlamış olduğunuz mevcut bir bağlantının ConnectionString özelliğinin içeriğini Properties penceresinden kopyalayabilirsiniz. Konunun kolay anlaşılma¬sını sağlamak için ConnectionString özelliğine aktarılacak her bilgi için Segment1, Segment2 şeklinde 6 string değişken tanımladım.

    SqlConnection Baglanti;
    string Baglanti_metni;
    string Segment1;
    string Segment2;
    string Segment3;
    string Segment4;
    string Segment5;
    string Segment6;
    Segment1 = "workstation id=BILGISAYAR2;";
    Segment2 = "packet size=4096;";
    Segment3 = "integrated security=SSPI;";
    Segment4 = "data source=BILGISAYAR2;";
    Segment5 = "persist security info=False;";
    Segment6 = "initial catalog=Cari";
    Baglanti_metni=Segment1+Segment2+Segment3+
    Segment4+Segment5+Segment6;

    Bağlantı metnindeki workstation segmenti ile kullanılan bilgisayarın adı(bu örnekte BILGISAYAR2), integrated security segmenti ile veritabanın korunma tekniği(Windows veya SQL Server), data source segmenti ile veritabanın saklandığı SQL Server’ın adı, initial catalog ile üzerinde işlem yapılmak istenen veritabanı belirtilmektedir. Pocket Size segmenti ile veritabanın saklandığı bilgisayar ile Client bilgisa¬yar arasında bilgi iletilirken veri kümesinin büyüklüğü seçilmektedir. Bu seçenek 512 ile 32767 arasında bir değer alabilir.

    Üzerinde işlem yapmak istediğim SQL Server veritabanın koruma işlemini Windows’a havale ettiğim için integrated security segmentine SSPI bilgisini aktardım. SSPI yerine True değerini yazabilirsiniz. Veritabanını koruma işleminin SQL server tarafından yapılması konusunda ayarlama yapmış olsaydım User ID ve Password segmentleri ile kullanıcı ve parolayı ConnectionString özelliğine eklemem gerekirdi.

    Connection nesnesini Access veya Oracle veritabanına bağlanmak için hazırlamış olsaydım ConnectionString özelliğine Provider segmentini de eklemem gerekirdi. Provider segmenti ile veritabanı sağlayıcısı belirtilmez ise bunun SQL Server veritabanları üzerinde işlem yapı¬lırken kullanılan SQLOLEDB olduğu varsayılır.

    ConnectionString özelliğine aktarılacak metni bu şekilde belirledikten sonra SqlConnection nesnesini aşağıda verdiğim 2 satır ile oluşturup Open() metodu ile açtım. Açmış olduğunuz bağlantıyı istediğiniz zaman Close() metodu ile kapatabilirsiniz.

    Baglanti = new SqlConnection(Baglanti_metni);
    Baglanti.Open();

    Connection nesnesinin açılıp açılmadığını State özelliğine bakarak öğrenebilirsiniz. Söz konusu Connection nesnesi açılmış ise State özelliği True, açılmamışsa False değerini içermektedir. State özelliğinin nasıl kullanıldığını aşağıda görebilirsiniz.

    bool Durum;
    Durum = Convert.ToBoolean(Baglanti.State);
    if (Durum == true)
    MessageBox.Show("Bağlantı açılmış");
    else
    MessageBox.Show("Bağlantı henüz açılmamış");

    Bu koda Connection nesnesinin açılıp açılmadığını öğrenmek için önce bool tipinde bir değişken tanımladım ve State özelliğinin içeriğini bu değişkene aktardım. Diğer yandan Connection nesnesin ConnectionState adında ReadOnly bir özelliği bulunmaktadır. Bu özellik Connection nesnesinin durumu hakkında bilgi içermektedir. Bu özelliğin nasıl kulla¬nıldığını aşağıda görebilirsiniz.

    if (Baglanti.State == ConnectionState.Open)
    MessageBox.Show("Bağlantı açılmış");
    else if (Baglanti.State == ConnectionState.Closed)
    MessageBox.Show("Bağlantı henüz açılmamış");

    ConnectionString özelliğinin Data Source segmenti ile bağlanılmak istenen veritabanı belir¬tilmektedir. Programın işletimi sırasında üzerinde işlem yapılan veritabanı öğrenilmek istendiğinde Connection nesnesinin Database özelliğine bakabilirsiniz. Aşağıda verilen satırlar ile veritabanın adı öğrenilebilir.

    string Veritabani;
    Veritabani = Baglanti.Database.ToString();
    MessageBox.Show(Veritabani);

    Connection nesnesi ile erişilen veritabanını değiştirmek veya aynı bilgisayardaki başka bir veritabanı üzerinde işlem yapmak istediğinizde aynı ConnectionString bilgilerini kullanacak¬sanız başka bir Connection nesnesi hazırlamaya gerek kalmadan ChangeDatabase() metodu ile veritabanını değiştirebilirsiniz.

    ChangeDatabase() metodu üzerinde işlem yapılmak istenen veritabanını parametre olarak almaktadır. Aşağıda verilen satır sayesinde “Baglanti” adlı Connection nesnesi için “Master” adlı veritabanı geçerli veritabanı yapılır. ChangeDatabase() metodu ile geçerli veritabanı değiştirildiğinde Database özelliğinin içeriği kendiliğinden değişir.

    Baglanti.ChangeDatabase("Master");
     
  4. esmaeild

    esmaeild Aktif Üye

    Kayıt:
    1 Haziran 2004
    Mesajlar:
    314
    Beğenilen Mesajlar:
    0
    Meslek:
    System Administrator & Solution Developer
    Şehir:
    istanbul
    pardon mysql diye okumuşum :)
     
  5. dayca

    dayca Yeni Üye

    Kayıt:
    18 Aralık 2006
    Mesajlar:
    2
    Beğenilen Mesajlar:
    0
    Çok teşekkür ederim sayın Memik Yanık hemen uygulamaya geçiyorum

    Esmaeild size de teşekkür ederim
     
  6. arif2018

    arif2018 Yeni Üye

    Kayıt:
    17 Eylül 2018
    Mesajlar:
    2
    Beğenilen Mesajlar:
    0
    Şehir:
    İstanbul
    C # ta ms sql servera bağlanıp veri çekme , yeni kayıt , silme , update işlemlerinin artık birden fazla yolu var. İster adonet ile yapılabilir isterse entity framework ile , hatta günümüzde dapper (Dapper Tutorial | Dapper ORM Tutorial | Dapper Documentation) gibi teknolojiler var , burada farklı kullanımları bulabilirsin C# Veritabanına bağlanma ve kayıtları listeleme , en nihayetinde tercih senin , hangisi kolayına geliyorsa ve performanslı buluyorsan , hangisinde daha hızlı geliştirme yapabiliyorsan ...
     
  7. sefa1471

    sefa1471 Üye

    Kayıt:
    13 Mart 2014
    Mesajlar:
    156
    Beğenilen Mesajlar:
    16
    Meslek:
    Öğrenci
    Şehir:
    Ankara
    Konu 2006 dan kalma. Konuyu açan arkadaşın pek göreceğini zannetmiyorum. O yüzden eski konuları hortlatmaya gerek yok diye düşünüyorum.
     
Benzer Konular
Yüklüyor...