Veritabanından Login Bilgilerini Doğrulama Yardım
Forum kuralları
Forum kurallarını okuyup, uyunuz!
Forum kurallarını okuyup, uyunuz!
-
- Üye
- Mesajlar: 25
- Kayıt: 12 Ara 2013 08:35
Veritabanından Login Bilgilerini Doğrulama Yardım
ADOTable1:Field: 'KullaniciAdi' bulunamadı hatası alıyorum.
Şöyle yazdım:
if (StrToInt(edit1.text))=ADOTable1.FieldByName('KullaniciAdi').Value and (StrToInt(edit2.text))=ADOTable1.FieldByName('Sifre').Value then
AnaEkran2.Show
else
ShowMessage('Lütfen Kullanıcı Adı ve Şifrenizi Kontrol Edin!');
Sizce nerede hata var? ADOTable1'i veritabanına bağlayıp TableName'ine de Personel tablosunu ekledim. Ama Kullanıcı Adı Alanını bulamıyor.
Şöyle yazdım:
if (StrToInt(edit1.text))=ADOTable1.FieldByName('KullaniciAdi').Value and (StrToInt(edit2.text))=ADOTable1.FieldByName('Sifre').Value then
AnaEkran2.Show
else
ShowMessage('Lütfen Kullanıcı Adı ve Şifrenizi Kontrol Edin!');
Sizce nerede hata var? ADOTable1'i veritabanına bağlayıp TableName'ine de Personel tablosunu ekledim. Ama Kullanıcı Adı Alanını bulamıyor.
Re: Veritabanından Login Bilgilerini Doğrulama Yardım
Merhaba.
(1) "KullaniciAdi" isimli alanın AdoTable1'in bağlı olduğu tablonuzda var olup olmadığını yeniden kontrol ediniz.
(2) Kullanıcı adı ve Şifre kesinlikle birere rakam mıdır ? StrToInt fonksiyonu, bir metnin içeriği eğer rakamsal bir ifade ise onu hata vermeden Integer tipine dönüştürür... Edit1.Text içinde 1973 varsa bu çalışır ama Edit1.Text içinde 'ARMAN' varsa hatalı bir kurgudur.
- Bunun için eğer isim ve /veya şifre; sadece nümerik değil alfanümerik karakterler de içeriyorsa StrToInt fonksiyonunu kaldırıp sadece Edit1.Text ve Edit2.Text yazmak gerekir.
(3) if sorgusunu olduğu gibi değiştirmeden yazıyorum, ama (2) nolu durumu değerlendirip yeniden yapılandırmanız lazım.
(1) "KullaniciAdi" isimli alanın AdoTable1'in bağlı olduğu tablonuzda var olup olmadığını yeniden kontrol ediniz.
(2) Kullanıcı adı ve Şifre kesinlikle birere rakam mıdır ? StrToInt fonksiyonu, bir metnin içeriği eğer rakamsal bir ifade ise onu hata vermeden Integer tipine dönüştürür... Edit1.Text içinde 1973 varsa bu çalışır ama Edit1.Text içinde 'ARMAN' varsa hatalı bir kurgudur.
- Bunun için eğer isim ve /veya şifre; sadece nümerik değil alfanümerik karakterler de içeriyorsa StrToInt fonksiyonunu kaldırıp sadece Edit1.Text ve Edit2.Text yazmak gerekir.
(3) if sorgusunu olduğu gibi değiştirmeden yazıyorum, ama (2) nolu durumu değerlendirip yeniden yapılandırmanız lazım.
Kod: Tümünü seç
if ( StrToInt(edit1.text) = ADOTable1.FieldByName('KullaniciAdi').Value )
and ( StrToInt(edit2.text) = ADOTable1.FieldByName('Sifre').Value )
then AnaEkran2.Show
else ShowMessage('Lütfen Kullanıcı Adı ve Şifrenizi Kontrol Edin!');
-
- Üye
- Mesajlar: 25
- Kayıt: 12 Ara 2013 08:35
Re: Veritabanından Login Bilgilerini Doğrulama Yardım
Merhaba,mrmarman yazdı:Merhaba.
(1) "KullaniciAdi" isimli alanın AdoTable1'in bağlı olduğu tablonuzda var olup olmadığını yeniden kontrol ediniz.
(2) Kullanıcı adı ve Şifre kesinlikle birere rakam mıdır ? StrToInt fonksiyonu, bir metnin içeriği eğer rakamsal bir ifade ise onu hata vermeden Integer tipine dönüştürür... Edit1.Text içinde 1973 varsa bu çalışır ama Edit1.Text içinde 'ARMAN' varsa hatalı bir kurgudur.
- Bunun için eğer isim ve /veya şifre; sadece nümerik değil alfanümerik karakterler de içeriyorsa StrToInt fonksiyonunu kaldırıp sadece Edit1.Text ve Edit2.Text yazmak gerekir.
(3) if sorgusunu olduğu gibi değiştirmeden yazıyorum, ama (2) nolu durumu değerlendirip yeniden yapılandırmanız lazım.
Kod: Tümünü seç
if ( StrToInt(edit1.text) = ADOTable1.FieldByName('KullaniciAdi').Value ) and ( StrToInt(edit2.text) = ADOTable1.FieldByName('Sifre').Value ) then AnaEkran2.Show else ShowMessage('Lütfen Kullanıcı Adı ve Şifrenizi Kontrol Edin!');
1. ADOTable1'e veritabanını bağlayıp tablename kısmına personel tablosunu bağladım Personel tablosu içerisinde KullaniciAdi alanı var zaten onu oradan görmesi ve value değerini edit1.text'e eşitlemesi lazım.
2. Kullanıcı Adı ve Şifreyi rakam yaptım O yüzden StrToInt koydum EditTextlerin başına.
Re: Veritabanından Login Bilgilerini Doğrulama Yardım
Peki hatayı bize doğru aktardınız mı ?
KullaniciAdi alanı derken siz türkeç karakter kullanarak "KullanıcıAdı" yazmış olabilir misiniz ?
Kodlarınızı biraz daha geniş örneklerseniz hatanızı daha kolay buluruz.
KullaniciAdi alanı derken siz türkeç karakter kullanarak "KullanıcıAdı" yazmış olabilir misiniz ?
Kodlarınızı biraz daha geniş örneklerseniz hatanızı daha kolay buluruz.

-
- Üye
- Mesajlar: 25
- Kayıt: 12 Ara 2013 08:35
Re: Veritabanından Login Bilgilerini Doğrulama Yardım
Hayır veritabanında alan adlarında türkçe karakter kullanmadım. KullaniciAdi ve Sifre alanlarının türünü Number/Sayı olarak değiştirdim.mrmarman yazdı:Peki hatayı bize doğru aktardınız mı ?
KullaniciAdi alanı derken siz türkeç karakter kullanarak "KullanıcıAdı" yazmış olabilir misiniz ?
Kodlarınızı biraz daha geniş örneklerseniz hatanızı daha kolay buluruz.
ADOTable1: Field 'KullaniciAdi' not found diye pop up çıkıyor kullanıcı adı ve şifreyi girip giriş yap'a tıkladığımda.
Re: Veritabanından Login Bilgilerini Doğrulama Yardım
@darrenjones
- Bu son mesajınız ile söyeleceğiniziz hepsi bu kadar ile sınırlı ve bitti öyle mi
- "Kodlarınızı biraz daha geniş örneklerseniz hatanızı daha kolay buluruz." demiştim, bu son mesajınız kadarını yeterli mi gördünüz...?
- Bu durumda kusura bakmayınız. Ben sorununuza çözüm üretemedim.
- Bu son mesajınız ile söyeleceğiniziz hepsi bu kadar ile sınırlı ve bitti öyle mi

- "Kodlarınızı biraz daha geniş örneklerseniz hatanızı daha kolay buluruz." demiştim, bu son mesajınız kadarını yeterli mi gördünüz...?
- Bu durumda kusura bakmayınız. Ben sorununuza çözüm üretemedim.

-
- Üye
- Mesajlar: 25
- Kayıt: 12 Ara 2013 08:35
Re: Veritabanından Login Bilgilerini Doğrulama Yardım
Hocam kodları daha önce de yukarıda paylaşmıştım onun haricinde bir şey yazmadım. Oturum Açma sayfasında 1 tane ADODataSet1 1 tane ADOTable1 1 tane de Datasourse1 var. Daha önce ADODataset1'e bağlamaya çalışıyordum olmadı. Sonra ADOTable1'e bağladım veritabanını. Sonuca en yakın ulaştığım da bu oldu.mrmarman yazdı:@darrenjones
- Bu son mesajınız ile söyeleceğiniziz hepsi bu kadar ile sınırlı ve bitti öyle mi![]()
- "Kodlarınızı biraz daha geniş örneklerseniz hatanızı daha kolay buluruz." demiştim, bu son mesajınız kadarını yeterli mi gördünüz...?
- Bu durumda kusura bakmayınız. Ben sorununuza çözüm üretemedim.
Buyrun bu da veritabanı:
http://www.dosya.tc/server21/HJcckM/db1.rar.html
Yalnız şöyle bir şey var: Datasource Dataset'e bağlanıyor. Table gözükmüyor.
Edit:
Table'ı Active yapmayı unutmuşum

Re: Veritabanından Login Bilgilerini Doğrulama Yardım
- Gördüğün gibi aslında sorun daha Tablo bağlantısının sağlıklı olmamasıymış.
- Bize aktardığınız kadarıyla devam etseydik, sanki tablodan veri doğru alınmış da, karşılaştırdığı halde neden olmuyor konusunu tartışıyor olacaktık.
- Şimdi TABLO'nun doğru açıldığını teyid için DBGrid'de görmenizi sağlayalım.
* Form'a bir tane DBGrid ekleyin.
- Bunu daha sonra silebilirsiniz. Sadece kontrol edebilmeniz için görsel olarak tabloya bağlandığınız bilebilmeniz için geçici olarak koyun.
* AdoTable var demiştiniz. Bağlantısını doğru yapıp yapmadığınızı test edicez :
Datasourse1'in : DataSet özelliğini AdoTable1 yapın.
DBGrid1'in : DataSource özelliğini DataSource1 yapın.
* Artık AdoTable1'i active ettiğinizde tablo içeriğini DBGrid'de görebileceksiniz. Bunu kontrol edin.
- Bağlantı sorununuz çözülene kadar IF ile yapacağınız karşılaştırmalarınızın hiç bir değeri yoktur. Çünkü henüz veri yoktur.
- Bize aktardığınız kadarıyla devam etseydik, sanki tablodan veri doğru alınmış da, karşılaştırdığı halde neden olmuyor konusunu tartışıyor olacaktık.
- Şimdi TABLO'nun doğru açıldığını teyid için DBGrid'de görmenizi sağlayalım.
* Form'a bir tane DBGrid ekleyin.
- Bunu daha sonra silebilirsiniz. Sadece kontrol edebilmeniz için görsel olarak tabloya bağlandığınız bilebilmeniz için geçici olarak koyun.
* AdoTable var demiştiniz. Bağlantısını doğru yapıp yapmadığınızı test edicez :
Datasourse1'in : DataSet özelliğini AdoTable1 yapın.
DBGrid1'in : DataSource özelliğini DataSource1 yapın.
* Artık AdoTable1'i active ettiğinizde tablo içeriğini DBGrid'de görebileceksiniz. Bunu kontrol edin.
- Bağlantı sorununuz çözülene kadar IF ile yapacağınız karşılaştırmalarınızın hiç bir değeri yoktur. Çünkü henüz veri yoktur.
-
- Üye
- Mesajlar: 25
- Kayıt: 12 Ara 2013 08:35
Re: Veritabanından Login Bilgilerini Doğrulama Yardım
Hocam dediğinizi yaptım DBGrid içerisinde Personel Tablosu açılıyor onda sorun yok.mrmarman yazdı:- Gördüğün gibi aslında sorun daha Tablo bağlantısının sağlıklı olmamasıymış.
- Bize aktardığınız kadarıyla devam etseydik, sanki tablodan veri doğru alınmış da, karşılaştırdığı halde neden olmuyor konusunu tartışıyor olacaktık.
- Şimdi TABLO'nun doğru açıldığını teyid için DBGrid'de görmenizi sağlayalım.
* Form'a bir tane DBGrid ekleyin.
- Bunu daha sonra silebilirsiniz. Sadece kontrol edebilmeniz için görsel olarak tabloya bağlandığınız bilebilmeniz için geçici olarak koyun.
* AdoTable var demiştiniz. Bağlantısını doğru yapıp yapmadığınızı test edicez :
Datasourse1'in : DataSet özelliğini AdoTable1 yapın.
DBGrid1'in : DataSource özelliğini DataSource1 yapın.
* Artık AdoTable1'i active ettiğinizde tablo içeriğini DBGrid'de görebileceksiniz. Bunu kontrol edin.
- Bağlantı sorununuz çözülene kadar IF ile yapacağınız karşılaştırmalarınızın hiç bir değeri yoktur. Çünkü henüz veri yoktur.
Re: Veritabanından Login Bilgilerini Doğrulama Yardım
O zaman bu da çalışacaktır...
(eğer Edit1 ve Edit2'nin isimlerini yanlış yazmamışsanız...)
(eğer Edit1 ve Edit2'nin isimlerini yanlış yazmamışsanız...)
Kod: Tümünü seç
if ( StrToInt(edit1.text) = ADOTable1.FieldByName('KullaniciAdi').Value )
and ( StrToInt(edit2.text) = ADOTable1.FieldByName('Sifre').Value )
then ShowMessage('AnaEkran2 gösterilecek') //AnaEkran2.Show
else ShowMessage('Lütfen Kullanıcı Adı ve Şifrenizi Kontrol Edin!');
-
- Üye
- Mesajlar: 25
- Kayıt: 12 Ara 2013 08:35
Re: Veritabanından Login Bilgilerini Doğrulama Yardım
Enteresanmrmarman yazdı:O zaman bu da çalışacaktır...
(eğer Edit1 ve Edit2'nin isimlerini yanlış yazmamışsanız...)Kod: Tümünü seç
if ( StrToInt(edit1.text) = ADOTable1.FieldByName('KullaniciAdi').Value ) and ( StrToInt(edit2.text) = ADOTable1.FieldByName('Sifre').Value ) then ShowMessage('AnaEkran2 gösterilecek') //AnaEkran2.Show else ShowMessage('Lütfen Kullanıcı Adı ve Şifrenizi Kontrol Edin!');

else
ShowMessage('Lütfen Kullanıcı Adınızı veya Şifrenizi Kontrol Edin!');
şu kısmı sildiğimde bile Giriş Yap'a tıklıyorum bir şey olmuyor. Sanki if kısmını algılamıyormuş gibi davranıyor.
Re: Veritabanından Login Bilgilerini Doğrulama Yardım
Hocam son verdiğim çalıştı mı çalışmadı mı ?
-
- Üye
- Mesajlar: 25
- Kayıt: 12 Ara 2013 08:35
Re: Veritabanından Login Bilgilerini Doğrulama Yardım
Yok malesef sadece AnaEkran gösterilecek yazıcı çıktı. Veritabanı bağlantılarını bile denedim Gelişmişten sadece Read yaptım, sadece Share Deny None yaptım, sadece ReadWrite yaptım bana mısın demedi. Seni de yordum kusura bakma ama en sonunda if edit1.text='admin' edit2.text='admin' then AnaEkran2.Show; yazıcammrmarman yazdı:Hocam son verdiğim çalıştı mı çalışmadı mı ?

Edit:
Hocam bana gönderdiğin kodu yanlış yazmışsın inceleyince gördüm.
then ShowMessage('AnaEkran2 gösterilecek') //AnaEkran2.Show değil
then AnaEkran2.Show olacak
Tamam şimdi çalıştı çok sağolasın.
Re: Veritabanından Login Bilgilerini Doğrulama Yardım
Yahu çalışmış ya...darrenjones yazdı:Yok malesef sadece AnaEkran gösterilecek yazıcı çıktı.
Kod: Tümünü seç
then ShowMessage('AnaEkran2 gösterilecek') //AnaEkran2.Show
Kod: Tümünü seç
then AnaEkran2.Show
-
- Üye
- Mesajlar: 25
- Kayıt: 12 Ara 2013 08:35
Re: Veritabanından Login Bilgilerini Doğrulama Yardım
Tamam tamam sonunda çözdük if satırlarını tek tek yazınca çalıştı Seni de yordum çok sağolmrmarman yazdı:Yahu çalışmış ya...darrenjones yazdı:Yok malesef sadece AnaEkran gösterilecek yazıcı çıktı.O mesajı neden ekledim, bir şeyi fark etmen için...Kod: Tümünü seç
then ShowMessage('AnaEkran2 gösterilecek') //AnaEkran2.Show
şeklinde değiştir o satırı...Kod: Tümünü seç
then AnaEkran2.Show
