Yazar |
|
ssrr
Kayıt: 18.02.2014 |
|
Merhaba.
String sql = "SELECT * FROM user WHERE username =? and password =?" ;
pst = conn.prepareStatement(sql);
pst.setString(1, username.getText());
pst.setString(2, password.getText());
rs = pst.executeQuery();
if(rs.next()){
ClientForm clientForm = new ClientForm();
clientForm.setVisible(true);
clientForm.setAd(rs.getString("ad"));
clientForm.setSoyAd(rs.getString("soyad"));
bu formda setad ve setsoyad ile clientForm daki global ad ve soyad degiskenlerini set ediyorum.
clientForm da ad ve soy ad hala null neden olabilir?
|
|
Yazar |
|
proceed
Kayıt: 30.09.2013 |
|
3,4,6,9,10 . satırlara breakpoint atıp debug eder misin? Buralardaki string değerleri boş mu dolu mu öğrenmemiz gerek.bir de sanırım username ve password textfield. burada boş değer girilip event tetiklendiğinde de hata verebilir.
|
|
Yazar |
|
ssrr
Kayıt: 18.02.2014 |
|
veritabanindan null gelmedigine eminim cunku rs.next blogu calisiyor. degeri clientForm da textfield e almak istiyorum
clientForm da ad ve soyad global degisken.
public String ad;
public String soyAd;
form1 kullanici adi ve password dogru ise form2 yi aktif ediyor ve form2 de bulunan textfield e hosgeldin "ad" "soyAd" demek istiyorum.
form2 de ziyaretci diye bi textfield var
simdi bu global degiskenleri getter ile textfield e atiyorum bu sirada degerler null geliyor.
ziyaretci.setText(getAd()+getSoyAd());
Mehaba nullnull
|
|
Yazar |
|
proceed
Kayıt: 30.09.2013 |
|
ziyaretci.setText(getAd()+getSoyAd());
eğer kod bu ise normal. clientForm.getAd() ve clientForm.getSoyAd() olmalı.Aklıma gelen başka bir şey de eğer sen ziyaretci label ına if(rs.next()){ blogu içinde atama yapmıyorsan clientForm nesnesini if blogunun içinde oluşturduğun için nesneyi bu blogun dısında kullanamazsın.eğer kullanmak istiyorsan
ClientForm clientForm =null;
if(rs.next()){
clientForm=new ClientForm();
//setter
}
if(clientForm!=null){
ziyaretci.setText(clientForm.getAd());
}
gibi kullanabilirsin.Eğer sorun bunlarda da değilse ve getter setter larda da problem yoksa veritanbanından gelen değerlerde sorun vardır
|
|
Yazar |
|
ssrr
Kayıt: 18.02.2014 |
|
sagol dostum haklisin getAd ve soyad i clientForm.getAd ile almam lazim ama sorun şu ki ben ClientForm = new clentForm deyip 2. formu yaratıyorum ve aktif ettikten sonra clientForm'un constructur kisminda kalan olaylari halletmeye valisiyorum. yani farkli iki class var, bu nedenle ikinci formun constructor da clientForm diye bi nesne yok, o nedenle ben bu nesneyi yaratırken onun global ad ve soyad degiskenine bu ad ve soy adi set etmeliyim bunu nasıl yaparım bi fikrin var mı? umarım nlatabilmisimdir.
class A {
B sinif = new B();
sinif.setad("xx");
}
class B{
string ad;
B(){
print ("merhaba" this.ad)
}
Merhaba xx. diyor
gibi.
|
|
Yazar |
|
ssrr
Kayıt: 18.02.2014 |
|
Sorunu ClientForm'un yapilandiricisini cagirarak hallettim
public ClientForm(String ad, String soyAd) throws ClassNotFoundException, SQLException {
this.ad =ad;
this.soyAd =soyAd;}
Soyle bi problemim daha var,
String sql = "SELECT * FROM user WHERE username =? and password =?" ;
pst = conn.prepareStatement(sql);
pst.setString(1, username.getText());
pst.setString(2, password.getText());
rs = pst.executeQuery();
if(rs.next()){
clientForm = new ClientForm();
clientForm.setVisible(true);
burada username ve password olarak aldigim degerleri veritabaninda karsilastirarak form2 yi yukluyorum.
veritabaninda user tablosu soyle
id username password ad soyad
1 test test test test
kullanici test test seklinde giris yapiyor
ilginc olan TEst teST seklinde kucuk buyuk harf farketmeksizin giris yapabiliyor. database ayarlarinda mi sorun var acaba,
mysql 5.4 var table utf_8_general_ci
|
|
Yazar |
|
ssrr
Kayıt: 18.02.2014 |
|
proceed yazdi
sagol dostum bu isimi gordu, eski surumlerde orun cikmiyordu yeni surumlere ait bir ozellik galiba bu.
|
|
|
|
-
Del.icio.us
-
Digg
-
Facebook
-
Furl
-
Google
-
Blink
-
Simpy
-
Spurl
-
Y! MyWeb
|
|
| | | | |