Windows form projelerinde çoklu kullanıcılar için login(oturum açma) uygulaması ile merhaba. Bu uygulama için gerekli olan, kullanıcı bilgilerinin olduğu database, giriş için kontrolü yapacak ilgili stored procedure, resimdeki gibi bir form ekranı yazmamız ve tasarlamamız gerekiyor.
[wpdm_file id=13]
Öncelikle database kısmında kullanıcı bilgilerinin tutulduğu tabloyu oluşturun.
Kullanıcı giriş kontrolünü yapacak ilgili stored procedure
[cc lang=’sql’ ]Create proc sp_KullaniciGiris (@kullaniciAdi nvarchar(50), @sifre int, @var int output)
as
begin
if exists (select Kullanici, Sifre from tblKullanici where Kullanici=@kullaniciAdi and Sifre=@sifre)
begin
select @var=ID from tblKullanici where Kullanici=@kullaniciAdi
end
else
begin
set @var=-1
end
end[/cc]
Oluşturduktan sonra database tarafında bir işimiz kalmıyor. Resimdeki kullanıcı giriş yapacağı basit bir form ekranı hazırlayıp giriş butonunun olayına yani kod tarafına geçelim;
[cc lang=’csharp’ ]
private void btnGiris_Click(object sender, EventArgs e)
{
try
{
SqlConnection sql = new SqlConnection(“server=.; database=databaseadi; trusted_connection=true;”);
SqlCommand cmd = new SqlCommand();
cmd.Connection = sql;
cmd.CommandText = “sp_KullaniciGiris”;
cmd.CommandType = CommandType.StoredProcedure;
cmd.Parameters.AddWithValue(“@kullaniciAdi”, txtKullaniciAdi.Text);
cmd.Parameters.AddWithValue(“@sifre”, txtSifre.Text);
cmd.Parameters.Add(“@var”, SqlDbType.Int);
cmd.Parameters[“@var”].Direction = ParameterDirection.Output;
sql.Open();
cmd.ExecuteReader();
sql.Close();
int varmi = Convert.ToInt32(cmd.Parameters[“@var”].Value.ToString());
if (varmi >= 0)
{
MessageBox.Show(“Oturum Açıldı Hoşgeldiniz…”);
}
else if (varmi < 0)
{
MessageBox.Show("Yanlış sifre");
}
else
{
MessageBox.Show("Bağlantı hatası!");
}
}
catch (Exception)
{
MessageBox.Show("Kritik hata!");
}
}
private void button2_Click(object sender, EventArgs e)
{
Application.Exit();
}
[/cc]
begin end blogu pl sql haricinde kullanılıyormuydu ?
Evet t-sql de stored procedure içinde kullanılıyor. Çalışmayacak olan kodu neden yazayım ?