त्रुटि: अगर खंड से वाक्यविन्यास त्रुटि

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

त्रुटि उपवाक्य से अपने सिंटैक्स त्रुटि हो रही है।

2
पासवर्ड के बाद और बंद होने से पहले एक स्पेस भी है ', जो काम नहीं करेगा। इसके अलावा, क्या वास्तव में कॉलम का नाम nam है? या यह <�कोड> नाम </कोड> है? सटीक होना और मैला न होना बहुत महत्वपूर्ण है।
जोड़ा लेखक Jesper, स्रोत
यह वाक्य रचना और तर्क दोनों में गलत लगता है: + jk + ik
जोड़ा लेखक Stultuske, स्रोत
आपको जहां और और से पहले रिक्त स्थान चाहिए।
जोड़ा लेखक Darshan Lila, स्रोत

7 उत्तर

निम्नलिखित का प्रयास करें:

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); 

प्रारंभ में आपकी क्वेरी निम्नलिखित लग रही थी

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

रिक्त स्थान के बाद

SELECT * FROM Table1 where nam='xyz' and password='xyz';
2
जोड़ा

भविष्य में ऐसी त्रुटियों से बचने के लिए मैं ReadyedStatement की सिफारिश कर सकता हूं। यहां Oracle ट्यूटोरियल है।

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
जोड़ा
न केवल इन त्रुटियों से बचने के लिए, बल्कि SQL इंजेक्शन से बचने के लिए भी।
जोड़ा लेखक Jesper, स्रोत

इसे इस्तेमाल करे:

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
जोड़ा
कृपया टिक मार्क पर क्लिक करके इसे अपने उत्तर के रूप में चुनें
जोड़ा लेखक Sanghita, स्रोत
अब यह काम कर रहा है। सहायता के लिए धन्यवाद।
जोड़ा लेखक Karrthik Reddy Chinasani, स्रोत
String jk =" where nam='"+txt1.getText()+"' ";
String ik ="and password='"+txt2.getPassword()+"'";     
String sql = "SELECT * FROM Table1" +jk+ik;                        
rs = stmt.executeQuery(sql); 

यह ठीक काम करना चाहिए ..! खुश कोडिंग खुश .. :)

0
जोड़ा

जब आप jk और ik wih sql को जोड़ रहे हैं तो टेबल नाम और जहां क्लॉज के बीच कोई जगह नहीं है। यही कारण है कि यू आर त्रुटि हो रही है। वहाँ एक ऐक है

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
जोड़ा

You must have a blank between jk and ik

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

लेकिन तैयार बयानों के बारे में सीखना बेहतर है।

0
जोड़ा

से और जहाँ खंड के बीच रिक्त स्थान जोड़ें।

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
जोड़ा
अब इसके काम कर रहे हैं। सहायता के लिए धन्यवाद।
जोड़ा लेखक Karrthik Reddy Chinasani, स्रोत