kullanıcı adı ve parolayı databaseden sorgulayıp onaylamak
Forum kuralları
Forum kurallarını okuyup, uyunuz!
Forum kurallarını okuyup, uyunuz!
kullanıcı adı ve parolayı databaseden sorgulayıp onaylamak
Herkese kolay gelsin.
kullanıcı formda dbedit lara kullanıcı adını ve parolasını yazıp
butona tıkladığında giriş yapacak
burda nasıl bir kodlama yapılmalı
Adoquery ile yapmak istiyorum.
Database access
kullanıcı formda dbedit lara kullanıcı adını ve parolasını yazıp
butona tıkladığında giriş yapacak
burda nasıl bir kodlama yapılmalı
Adoquery ile yapmak istiyorum.
Database access
Kod: Tümünü seç
procedure TSktForm.BitBtn1Click(Sender: TObject);
var kullaniciMY,kullaniciQ,passQ,passMY: string;
begin
if EDKullanici.Text='' then
begin
ShowMessage('Kullanıcı adı boş geçilemez! Giriniz..');
EDKullanici.SetFocus
end else
begin
kullaniciQ:=edKullanici.text;
passmy:=edpass.Text;
KulKontrolQuery.SQL.Text:='select kullanici_isim, sifre from tablom where kullanici_isim='''+kullaniciQ+'''';
KulKontrolQuery.Active:=true;
kullaniciMY:=KulKontrolQuerykullanici_isim.value;
passQ:=KulKontrolQuerysifre.Value;
if kullaniciQ<>kullaniciMY then
begin
ShowMessage('Kullanıcı Adı Hatalı!! Tekrar Deneyin..');
EDKullanici.SetFocus;
end else
if passQ<>passMY then
begin
ShowMessage('Şifre Hatalı!! Tekrar Deneyin..');
EDPass.SetFocus
end else
begin
KulKontrolQuery.Close;
/// .........işlemler /////////////
end;
end;
Bir kelimenin anlamını öğretsen bile yeter..



bu arada
arkadaşın yazdığı koda ek olarak önerim user ve şifrelerin tutulduğu tabloyu standart db modullerden ve connection nesnesinden ayrı tutmanızdır. böylece kullanıcı onayı için tüm tabloları açmanız gerekmez. ayrıca gene öneri olarak o formda dbedit gibi vt duyarlı kontrolleri kullanmanızı önermem
arkadaşın yazdığı koda ek olarak önerim user ve şifrelerin tutulduğu tabloyu standart db modullerden ve connection nesnesinden ayrı tutmanızdır. böylece kullanıcı onayı için tüm tabloları açmanız gerekmez. ayrıca gene öneri olarak o formda dbedit gibi vt duyarlı kontrolleri kullanmanızı önermem
Kişi odur ki, koyar dünyada bir eser. Eseri olmayanın yerinde yeller eser./Muhammed Hadimi
http://www.ibrahimkutluay.net
http://www.ibrahimkutluay.net/blog
http://www.ibrahimkutluay.net
http://www.ibrahimkutluay.net/blog
arkadaşlar kod için teşekkür ederim.
Aşağıdaki gibi bir kod yazdım.
database de user tanımlı olduğu halde kullanıcı adına tanımlı useri girdiğimde Yanlış Kullanıcı Adı Girdiniz mesajı çıkıyor.
Fakat kullanıcı adından sonra şifreyide tanımlı olduğu gibi girersem sisteme login oluyor.
Problem ne olabilir.
Bu arada editler db edit değil yanlış yazmışım.
Conari arkdaşın yazmış olduğu kodu çalışıtırdığımda UserId hatası veriyor.
Anlayamadım.
Aşağıdaki gibi bir kod yazdım.
database de user tanımlı olduğu halde kullanıcı adına tanımlı useri girdiğimde Yanlış Kullanıcı Adı Girdiniz mesajı çıkıyor.
Fakat kullanıcı adından sonra şifreyide tanımlı olduğu gibi girersem sisteme login oluyor.
Problem ne olabilir.
Bu arada editler db edit değil yanlış yazmışım.
Conari arkdaşın yazmış olduğu kodu çalışıtırdığımda UserId hatası veriyor.
Anlayamadım.
Kod: Tümünü seç
procedure Tuser_form.tamamClick(Sender: TObject);
var
user:string;
sifre:String;
begin
user:=user_form.user.text;
sifre:=user_form.sifre.text;
if (user='') and (sifre='')then
begin
showmessage('Kullanıcı Adı ve Şifre Giriniz');
user_form.user.SetFocus;
user_form.Show;
end
else
begin
with fdm.Adoqusertbl do
begin
fdm.Adoqusertbl.sql.Clear;
fdm.Adoqusertbl.sql.Add('select * from usertbl where User='''+user+''' and sifre='''+sifre+'''');
fdm.Adoqusertbl.open;
fdm.Adoqusertbl.Active:=true;
end;
if user<> fdm.Adoqusertbl.FieldByName('User').AsString then
begin
showmessage('Yanlış Kullanıcı Adı Girdiniz ');
user_form.user.setfocus;
user_form.Show;
end;
if sifre<> fdm.Adoqusertbl.FieldByName('Sifre').AsString then
begin
showmessage('Yanlış Şifre Girdiniz ');
user_form.sifre.setfocus;
user_form.Show;
end;
if (user= fdm.Adoqusertbl.FieldByName('User').AsString) and
(sifre= fdm.Adoqusertbl.FieldByName('Sifre').AsString) then
begin
fdm.Adoqusertbl.Close;
main_form.loginlabel.visible:=true;
main_form.kullanici.Caption:=user_form.sifre.Text;
main_form.Show;
user_form.Visible:=False;
user_form.Hide;
end;
end;
end;
sağ kulağınızı tersten gösteriyorsunuz.
yuklardaki select ten donen recordcount=0 ise zaten kullanıcı yok demekrtir. kalan kontrolleri çok uzatıyorsunuz.
yuklardaki select ten donen recordcount=0 ise zaten kullanıcı yok demekrtir. kalan kontrolleri çok uzatıyorsunuz.
Kişi odur ki, koyar dünyada bir eser. Eseri olmayanın yerinde yeller eser./Muhammed Hadimi
http://www.ibrahimkutluay.net
http://www.ibrahimkutluay.net/blog
http://www.ibrahimkutluay.net
http://www.ibrahimkutluay.net/blog
benim verdiğim kodda UserID diye bir alan yok Sanırım Senin Query nde önceden eklediğin alanlar kalmış ve o alanları bir yerde kullanıyorsun.
Kullanmıyor isen Queryini alanlarını temizle ve tekrar ekle
Ayrıca @ikutluay bunun için uyarmış.
Arkadaş demişki burada kayıt 0 dönüyosa hata vardır.
Ayrıca
bu satırlardan birini de kaldır gereksiz.
Yine ayrıca Sorgu kısıtlamasını sadece Kullanıcı adı ile yapın
yoksa kullanıcı adımda mı hatalı diyecektir
bu sorguya göre
Kullanmıyor isen Queryini alanlarını temizle ve tekrar ekle
Ayrıca @ikutluay bunun için uyarmış.
Kod: Tümünü seç
with fdm.Adoqusertbl do
begin
fdm.Adoqusertbl.sql.Clear;
fdm.Adoqusertbl.sql.Add('select * from usertbl where User='''+user+''' and sifre='''+sifre+'''');
fdm.Adoqusertbl.open;
fdm.Adoqusertbl.Active:=true;
end;
Ayrıca
Kod: Tümünü seç
fdm.Adoqusertbl.open;
fdm.Adoqusertbl.Active:=true;
Yine ayrıca Sorgu kısıtlamasını sadece Kullanıcı adı ile yapın
yoksa kullanıcı adımda mı hatalı diyecektir

Bir kelimenin anlamını öğretsen bile yeter..



son ahlini yapıştırınki ilerde başkalarıda faydalansın
Kişi odur ki, koyar dünyada bir eser. Eseri olmayanın yerinde yeller eser./Muhammed Hadimi
http://www.ibrahimkutluay.net
http://www.ibrahimkutluay.net/blog
http://www.ibrahimkutluay.net
http://www.ibrahimkutluay.net/blog
iki gün geçmiş cevap alamamışız... not alalım bunu....
Kişi odur ki, koyar dünyada bir eser. Eseri olmayanın yerinde yeller eser./Muhammed Hadimi
http://www.ibrahimkutluay.net
http://www.ibrahimkutluay.net/blog
http://www.ibrahimkutluay.net
http://www.ibrahimkutluay.net/blog
Re: kullanıcı adı ve parolayı databaseden sorgulayıp onaylamak
kusura bakmayın cevap geç oldu.
çalışan kod aşağıdaki gibidir.
procedure Tuser_form.tamamClick(Sender: TObject);
var kullaniciMY,kullaniciQ,passQ,passMY: string;
begin
if user.Text='' then
begin
ShowMessage('Kullanıcı adı boş geçilemez!Lütfen Giriniz..');
user.SetFocus
end else
begin
kullaniciQ:=user.text;
passmy:=sifre.Text;
fdm.Adoqusertbl.SQL.Text:='select User,Sifre from usertbl where User='''+kullaniciQ+'''';
fdm.Adoqusertbl.Active:=true;
kullaniciMY:=fdm.Adoqusertbl.FieldByName('user').AsString;
passQ:=fdm.Adoqusertbl.FieldByName('sifre').AsString;
if kullaniciQ<>kullaniciMY then
begin
ShowMessage('Kullanıcı Adı Hatalı!! Tekrar Deneyin..');
user.SetFocus;
end else
if passQ<>passMY then
begin
ShowMessage('Şifre Boş veya Hatalı!! Tekrar Deneyin..');
sifre.SetFocus
end else
begin
main_form.loginlabel.visible:=true;
main_form.kullanici.Caption:=user_form.user.Text;
main_form.Show;
user_form.Visible:=False;
user_form.Hide;
çalışan kod aşağıdaki gibidir.
procedure Tuser_form.tamamClick(Sender: TObject);
var kullaniciMY,kullaniciQ,passQ,passMY: string;
begin
if user.Text='' then
begin
ShowMessage('Kullanıcı adı boş geçilemez!Lütfen Giriniz..');
user.SetFocus
end else
begin
kullaniciQ:=user.text;
passmy:=sifre.Text;
fdm.Adoqusertbl.SQL.Text:='select User,Sifre from usertbl where User='''+kullaniciQ+'''';
fdm.Adoqusertbl.Active:=true;
kullaniciMY:=fdm.Adoqusertbl.FieldByName('user').AsString;
passQ:=fdm.Adoqusertbl.FieldByName('sifre').AsString;
if kullaniciQ<>kullaniciMY then
begin
ShowMessage('Kullanıcı Adı Hatalı!! Tekrar Deneyin..');
user.SetFocus;
end else
if passQ<>passMY then
begin
ShowMessage('Şifre Boş veya Hatalı!! Tekrar Deneyin..');
sifre.SetFocus
end else
begin
main_form.loginlabel.visible:=true;
main_form.kullanici.Caption:=user_form.user.Text;
main_form.Show;
user_form.Visible:=False;
user_form.Hide;