Sql server kullanarak kullanıcı ve rolleri kolay bir şekilde oluşturabiliriz. Sql 2008 üzerinden örnek verecek olursak
object explorer kısmından kullanıcı oluşturacağımız veritabanını seçiyoruz.
Daha sonra ise oluşturduğumuz kullanıcıya vereceğimiz yetkileri belirliyoruz.
Bu sql server kullanarak basit bir şekilde yapabiliyoruz. Diyelim ki bir program yaptık ve programın kullandığı veritabanına sonradan yeni kullanıcılar ekleme işini programın admin panelinden gerçekleştireceğiz yaptığımız program üstteki işlemi gerçekleştirecek .

Öncelikle aşağıdaki tasarımı c# ta oluşturuyoruz.
Şu sıralar modüler programlamaya merak saldım ve bir otel otomasyonu yapmaya karar verdim işte programda bir admin olacak bu panele girdiği zaman rezervasyon yapması vb işlemler için bir kullanıcıyı programatik olarak bu formdan oluşturacak gelelim kodlama kısmına
KullaniciEkle.Click += new EventHandler(KullaniciEkle_Click);
void commandLink11_Click(object sender, EventArgs e){SqlConnectionStringBuilder ayar = new SqlConnectionStringBuilder();ayar.DataSource = "bilgisayar adınız";ayar.InitialCatalog = "kullanıcı eklenecek veritabanı";ayar.IntegratedSecurity = true;ayar.UserID = "sa";ayar.Password = "şifreniz";SqlConnection con = new SqlConnection(ayar.ConnectionString);con.Open();a = textBox21.Text;sifre = textBox22.Text;SqlCommand komut2 = new SqlCommand("create LOGIN " + a + " WITH PASSWORD ='" + sifre + "'", con);komut2.ExecuteNonQuery();iki();}//burda tanımladığımız fonkiyonu click olayında çağırıyoruz.public void iki(){SqlConnectionStringBuilder ayar = new SqlConnectionStringBuilder();ayar.DataSource = "bilgisayar adınız";ayar.InitialCatalog = "veritabanı adınız";ayar.IntegratedSecurity = true;ayar.UserID = "sa";ayar.Password = "12345";SqlConnection con = new SqlConnection(ayar.ConnectionString);con.Open();SqlCommand komut = new SqlCommand("create user " + a, con);komut.ExecuteNonQuery();}
Şimdi kodu açıklayalım öncelikle kullanıcı oluşturacağımız veritabanına bağlanıyoruz ve o veritabanı üzerinde command nesne ile sorgularımızı çalıştırıyoruz. Şuanda yeni kullanıcımızı oluşturmuş olduk. Yukarıdaki kodları login bilgilerini değiştirerek tekrar bağlanmaya çalışın bağlantı sağlanacaktır. Eğer programınızda bir hata varsa aşağıdaki “login failed for user” hatasını verecektir.

çiğdem
17 Mart 2010 at 03:46
ben sql de komutu yazıorum veri eklemek için ama bi türlü tabloya veri ekleyemiyorum sürekli hata alıyorum
tablo adım HASTALAR
kodum ise
INSERT INTO HASTALAR
(Adi, SoyAdi , DogumTarihi , Cinsiyet , Adres , Tel )
VALUES
(‘Aslıhan’, ‘kaplan’,’15.08.1085′,’Kadın’,'Antalya’,'xxxxx’)
sonra execute diyorum ama eklemiyor bana veridği hata
Msg 208, Level 16, State 1, Line 1
Invalid object name ‘HASTALAR’.
yardımcı olursanız çok sevinirim
yuhubaa
17 Mart 2010 at 05:05
çiğdem bu sorguyu sql server in hangi sürümünden çalıştırıyorsun büyük ihtimal sorguyu çalıştırırken vertabanını seçmemissin diyelim veritabanı adın Hastane ise kodun başına use hastane dersen sorun çözülür
çiğdem
18 Mart 2010 at 02:12
orada kullandığım veri tabanı seçili ama ona rağmen aynı hatayı veriyor birde sql server 2005 kullanıyorum