St.AnGeR
Document Visor..
Kullanıcı bilgilerimizi veri tabanlarımız da tutarız. Kullanıcıların sisteme girişlerinde kullanacağımız bilgiler de genelde bu veri tabanlarında bulunmaktadır. Eğer ver tabanı olarak SQL SERVER kullanıyorsak veri tabanında kullanıcı bilgilerimiz sorgulamak için Stored Procedureleri kullanabiliriz burarda kullanıcıdan aldığımız kullanıcı adını ve şifre bilgilerini parametre olarak SQL SERVER’a gönderip bize bu kullanıcı adına ve şifresine sahip kayıt ta bulunan firma ismini geri döndürmesini isteyebiliriz. Eğer bu kullanıcı adına ve şifresine sahip bir kayıt yoksa yani kullanıcı girişi onaylanmamışsa bizle boş bir değer döndürecek bu sayede dönen değerden gelen veriye göre kullanışı girişlerimizi yapabiliriz..
Uygulayacağımız işlem basamakları aşağıdaki gibi olabilir.
1- SQL SERVER’da ANADB adında bir veri tabanı oluşturalım ve içinde Uyeler tablomuz bulunsun. Tablo yapımız aşağıdaki gibi olabilir.
2- İkinci olarak bu tablomuzda bulunan kayıtlardaki verileri doğrulayacak Stored Procedurü oluşturalım..
CREATE Procedure giris_Uye
Buradaki kodda Create Procedure ile prosedür tanımla mızı yaptıktan sonra 3 tane parametreyi prosedürümüze kabul ediyoruz. Email ve Password parametreleri kullanıcılarımızdan gelen parametreleri tanımladık ve en son kullanıcıya döndüreceğimiz FirmaAdını tanımlıyoruz. AS kısmından sonra bildiğimiz Sql cümleleriyle Belirttiğimiz Email ve Şifreye sahip olan kayıttan Kullanıcı adını döndürüyoruz. Email Primary KEY olduğu için aynı kullanıcı adına ve şifresine sahip kayıt olamıyor. IF kısmında ise eğer kullanıcı kaydı 1den küçükse yani yoksa FirmaAdi parametresini ‘’ boş olarak döndürüp GO ile prosedürümüzü bitiriyoruz..
Procudumuzu tamamladıktan sonra Permissions kısmından gerekli Exec yetkisini kullanıcımıza veriyoruz.
Server kullanıcılarınıza IIS Worker Process grubunu dahil etmelisiniz.
3- SQL SERVER tarafında işlemlerimizi yaptıktan sonra bu prosedürü kullanacağımız Ado.net kodunu aşağıdaki gibi yazabiliriz.
Public Function Giris(ByVal email As String, ByVal sifre As String) As String
'Aşağıdaki bağlantı cümlesini kendi sisteminize göre değiştebilirsiz.
'Burada veritabanı AnaDB olarak alındı.
Dim cn As String = "server= localhost ;packet size=4096;integrated security=SSPI;initial catalog=A" & _
"naDB;persist security info=False"
'Connection nesmemizi tanımladık
Dim myConnection As New SqlConnection(cn)
'Komut nesnemizi tanımladık ve de bu cümlede kullanacağımız storede prosüdürü
' ve de bağlantı nesnemizi yazdık en son CommandType olarak Stored prosüdür seçtik.
Dim myCommand As New SqlCommand("giris_Uye", myConnection)
myCommand.CommandType = CommandType.StoredProcedure
'Email ve Password parametrelerini tanımlıyoruz.
'Paranterz içinde sırasıyla parametre adı, tipi , ve de uzunluğunu belirtiyoruz.
'parametre içereceği değeri Value ile yazıyoruz.
'En altta bulunan kısımda ise Komut parametre koleksiyonumuza parametreyi ekledik.
Dim parameterEmail As SqlParameter = New SqlParameter("@Email", SqlDbType.NVarChar, 50)
parameterEmail.Value = email
myCommand.Parameters.Add(parameterEmail)
Dim parameterPassword As SqlParameter = New SqlParameter("@Password", SqlDbType.NVarChar, 50)
parameterPassword.Value = sifre
myCommand.Parameters.Add(parameterPassword)
'Burada ise Direciton farklı olarak Direction ile parametrenin sonuç döndüreceğini
'belirtiyoruz.
Dim parameterFirmaAdi As SqlParameter = New SqlParameter("@FirmaAdi", SqlDbType.NVarChar, 50)
parameterFirmaAdi.Direction = ParameterDirection.Output
myCommand.Parameters.Add(parameterFirmaAdi)
'Bağlantıyı açıp, komutu işleyip en son bağlantımızı kapatıyoruz.
4- Bu fonksiyondan sonuca göre yazacağımız kodla kullanıcıları sistemimize alabilir veya sonuc boş olarak geri dönmüşse system dışında tutabiliriz…
Uygulayacağımız işlem basamakları aşağıdaki gibi olabilir.
1- SQL SERVER’da ANADB adında bir veri tabanı oluşturalım ve içinde Uyeler tablomuz bulunsun. Tablo yapımız aşağıdaki gibi olabilir.

2- İkinci olarak bu tablomuzda bulunan kayıtlardaki verileri doğrulayacak Stored Procedurü oluşturalım..
CREATE Procedure giris_Uye
Kod:
(
@Email nvarchar(50),
@Password nvarchar(50),
@FirmaAdi nvarChar(50) OUTPUT
)
AS
SELECT
@FirmaAdi = FirmaAdi
FROM
Uyeler
WHERE
Email = @Email
AND
Sifre= @Password
IF @@Rowcount < 1
SELECT
@FirmaAdi = ''
GO
Buradaki kodda Create Procedure ile prosedür tanımla mızı yaptıktan sonra 3 tane parametreyi prosedürümüze kabul ediyoruz. Email ve Password parametreleri kullanıcılarımızdan gelen parametreleri tanımladık ve en son kullanıcıya döndüreceğimiz FirmaAdını tanımlıyoruz. AS kısmından sonra bildiğimiz Sql cümleleriyle Belirttiğimiz Email ve Şifreye sahip olan kayıttan Kullanıcı adını döndürüyoruz. Email Primary KEY olduğu için aynı kullanıcı adına ve şifresine sahip kayıt olamıyor. IF kısmında ise eğer kullanıcı kaydı 1den küçükse yani yoksa FirmaAdi parametresini ‘’ boş olarak döndürüp GO ile prosedürümüzü bitiriyoruz..
Procudumuzu tamamladıktan sonra Permissions kısmından gerekli Exec yetkisini kullanıcımıza veriyoruz.

Server kullanıcılarınıza IIS Worker Process grubunu dahil etmelisiniz.
3- SQL SERVER tarafında işlemlerimizi yaptıktan sonra bu prosedürü kullanacağımız Ado.net kodunu aşağıdaki gibi yazabiliriz.
Public Function Giris(ByVal email As String, ByVal sifre As String) As String
'Aşağıdaki bağlantı cümlesini kendi sisteminize göre değiştebilirsiz.
'Burada veritabanı AnaDB olarak alındı.
Dim cn As String = "server= localhost ;packet size=4096;integrated security=SSPI;initial catalog=A" & _
"naDB;persist security info=False"
'Connection nesmemizi tanımladık
Dim myConnection As New SqlConnection(cn)
'Komut nesnemizi tanımladık ve de bu cümlede kullanacağımız storede prosüdürü
' ve de bağlantı nesnemizi yazdık en son CommandType olarak Stored prosüdür seçtik.
Dim myCommand As New SqlCommand("giris_Uye", myConnection)
myCommand.CommandType = CommandType.StoredProcedure
'Email ve Password parametrelerini tanımlıyoruz.
'Paranterz içinde sırasıyla parametre adı, tipi , ve de uzunluğunu belirtiyoruz.
'parametre içereceği değeri Value ile yazıyoruz.
'En altta bulunan kısımda ise Komut parametre koleksiyonumuza parametreyi ekledik.
Dim parameterEmail As SqlParameter = New SqlParameter("@Email", SqlDbType.NVarChar, 50)
parameterEmail.Value = email
myCommand.Parameters.Add(parameterEmail)
Dim parameterPassword As SqlParameter = New SqlParameter("@Password", SqlDbType.NVarChar, 50)
parameterPassword.Value = sifre
myCommand.Parameters.Add(parameterPassword)
'Burada ise Direciton farklı olarak Direction ile parametrenin sonuç döndüreceğini
'belirtiyoruz.
Dim parameterFirmaAdi As SqlParameter = New SqlParameter("@FirmaAdi", SqlDbType.NVarChar, 50)
parameterFirmaAdi.Direction = ParameterDirection.Output
myCommand.Parameters.Add(parameterFirmaAdi)
'Bağlantıyı açıp, komutu işleyip en son bağlantımızı kapatıyoruz.
Kod:
myConnection.Open()
myCommand.ExecuteNonQuery()
myConnection.Close()
'Dönen parametre değerini Sonuc değişkenine aktarıyoruz.
Dim Sonuc As String = CStr(parameterFirmaAdi.Value)
'Gelen Sonuca göre Gerekli verileri döndürüyoruz..
If Sonuc = "" Then
Return Nothing
Else
Return Sonuc
End If
End Function
4- Bu fonksiyondan sonuca göre yazacağımız kodla kullanıcıları sistemimize alabilir veya sonuc boş olarak geri dönmüşse system dışında tutabiliriz…
Kod:
Dim kAdi As String = TextBox1.Text
Dim sifre As String = TextBox2.Text
If Giris(kAdi, sifre) <> "" Then
'Giriş başarılı olduğunda yazılacak kod.
Else
'Giriş başarısız olduğunda yazılacak kod
End If