错误:来自if子句的语法错误

时间:2015-04-14 06:52:55

标签: java jdbc odbc

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

错误一直发生在from子句中的语法错误。

7 个答案:

答案 0 :(得分:2)

请尝试以下操作:

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

答案 1 :(得分:1)

为避免将来出现此类错误,我可以推荐PreparedStatementHere是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();

答案 2 :(得分:0)

当你将jk和jk与sql结合使用时,table name和where子句之间没有空格。这就是你得到错误的原因。在那里有一个空间

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

答案 3 :(得分:0)

jkik

之间必须有空格
sql = "SELECT * FROM Table1" +jk+" "+ik; 

但最好还是了解准备好的陈述。

答案 4 :(得分: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); 

您忘记在“where”和“and”之间添加空格 另外我觉得nam将在表格列中命名

答案 5 :(得分:0)

fromwhere子句之间添加空格。

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

答案 6 :(得分:0)

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

这应该可以正常工作..! 欢呼快乐的编码.. :)

相关问题