C# form application ile bağlantı kurduğum bir Sql server da "VeriTabani" isminde bir database var mı diye nasıl kontrol edebilirim. Yoksa eğer C# tan oluşturması için oluşturucak "create database VeriTabani" kodunu nasıl Sql e gönderebilirim ?
Toplam 1 cevap
SQL sunucu içerisinde mevcut veritabanı bilgileri MASTER tablosunda tutulur. Master tablosu üzerinde çalıştırılacak bir sorgu ile veritabanı var mı yok mu kontrol edilebilir. Aşağıda C# ile yazılmış Sql sunucu üzerinde veritabanı var mı yok mu diye kontrol eden bir kod örneği mevcut.
public void Kontrol() { string VeritataniAdi ="Ornek1"; //SQL sunucu icin baglanti oluştur SqlConnection baglanti = new SqlConnection("server=.\\SQLEXPRESS;database=Master; Integrated Security=SSPI"); //SQL icerisindeki tüm veritabanı bilgileri MASTER tablosunda tutulur. Master Tablosunu sorgula SqlCommand komut = new SqlCommand("SELECT Count(name) FROM master.dbo.sysdatabases WHERE name=@prmVeritabani", baglanti); //Komut nesnesine parametre ile kontrol edilecek veritabanin adini geciyoruz. komut.Parameters.AddWithValue("@prmVeriTabani", VeritataniAdi); //Baglantiyi ac. baglanti.Open(); //Executescalar ile sorgu sonucunda dönen degeri aliyoruz. Veritabanı varsa 1 yoksa 0 dönecektir. int sonuc = (int)komut.ExecuteScalar(); //işlem bitti. Baglantiyi kapatiyoruz. //Veritabanı var ise yapılacaklar if (sonuc != 0) { MessageBox.Show("Bu isimde bir veritabanı var."); } else { //Veritabanı yok ise yapılacaklar //Veritabanı yarat komut.CommandText = "Create Database " + VeritataniAdi; komut.ExecuteNonQuery(); MessageBox.Show("Bu isimde bir veritabanı yaratıldı."); } baglanti.Close(); }