error: eğer cümlecikten sözdizimi hatası

String jk = "where nam='" + txt1.getText() + "'";
String ik = "and password='" + txt2.getPassword() + " ' ";
String sql;
sql = "SELECT * FROM Table1" + jk + ik;
rs = stmt.executeQuery(sql);

bu hata, yan tümcesinden sözdizimi hatasını oluşturuyor.

2
Ayrıca şifreden sonra ve ' kapanışından önce çalışmaması için bir boşluk vardır. Ayrıca, sütun gerçekten nam olarak adlandırılmış mı? Yoksa adı mı? Kesin ve özensiz olmak çok önemlidir.
katma yazar Jesper, kaynak
bu hem sözdiziminde hem de mantıkta yanlış görünüyor: + jk + ik
katma yazar Stultuske, kaynak
nerede ve ve 'dan önce boşluklara ihtiyacınız var.
katma yazar Darshan Lila, kaynak

7 cevap

Aşağıdakileri deneyin:

String jk =" where nam='"+txt1.getText()+"'";        //note the space before where
String ik =" and password='"+txt2.getPassword()+" '  //and space before and
String sql;                 
sql = "SELECT * FROM Table1" +jk+ik;                        
rs = stmt.executeQuery(sql); 

Başlangıçta sorgunuz takip edildi

SELECT * FROM Table1where nam='xyz'and password='xyz';

Boşluklardan sonra

SELECT * FROM Table1 where nam='xyz' and password='xyz';
2
katma

Gelecekte bu tür hataları önlemek için PreparedStatement 'ı önerebilirim. Oracle dersi, İşte dir.

String stmnt = "SELECT * FROM Table1 WHERE nam=? and password=?;";
PreparedStatement pstmt = con.prepareStatement(stmnt);
pstmt.setString(1, txt1.getText());
pstmt.setString(2, txt2.getText());
ResultSet rs = pstmt.executeQuery();
1
katma
Yalnızca bu hataları önlemek için değil, aynı zamanda SQL enjeksiyonu .
katma yazar Jesper, kaynak

Bunu dene:

String jk =" where nam='"+txt1.getText()+"'";                
String ik =" and password='"+txt2.getPassword()+" ' ";                                              

    String sql;                 
sql = "SELECT * FROM Table1" +jk+ik;                        
rs = stmt.executeQuery(sql); 

"Where" ve "ve" arasına boşluk eklemeyi unuttun. Ayrıca bu adın tablo sütununda isim olacağını hissediyorum

0
katma
Lütfen onay işaretine tıklayarak cevabınızı seçiniz.
katma yazar Sanghita, kaynak
şuan çalışıyor. Yardım için teşekkürler.
katma yazar Karrthik Reddy Chinasani, kaynak
String jk =" where nam='"+txt1.getText()+"' ";
String ik ="and password='"+txt2.getPassword()+"'";     
String sql = "SELECT * FROM Table1" +jk+ik;                        
rs = stmt.executeQuery(sql); 

Bu iyi çalışması gerekir ..! şerefe mutlu kodlama .. :)

0
katma

Jk ve ik wih sql komutlarını birleştirirken, tablo ismi ile nerede cümlesi arasında boşluk yoktur. Bu yüzden hatayı alıyorsun. Orada bir spece var

String jk =" where nam='"+txt1.getText()+"'";                
String ik =" and password='"+txt2.getPassword()+" ' ";                               String sql;                 
sql = "SELECT * FROM Table1" +jk+ik;                        
rs = stmt.executeQuery(sql); 
0
katma

You must have a blank between jk and ik

sql = "SELECT * FROM Table1" +jk+" "+ik; 

Ancak hazırlanan ifadeler hakkında bilgi edinmek daha iyidir.

0
katma

ve arasına boşluk ekleyin; burada yan tümce.

String jk ="where nam='"+txt1.getText()+"'";
String ik ="and password='"+txt2.getPassword()+" ' "; String sql;
sql = "SELECT * FROM Table1" + " " + jk + " " + ik; rs = stmt.executeQuery(sql);
0
katma
ya şimdi çalışıyor. Yardım için teşekkürler.
katma yazar Karrthik Reddy Chinasani, kaynak