Java 错误:来自if子句的语法错误
该错误在from子句中出现语法错误。当您使用sql组合jk和ik时,表名和where子句之间没有空格。这就是为什么你会出错的原因。有一个规格在那里吗Java 错误:来自if子句的语法错误,java,jdbc,odbc,Java,Jdbc,Odbc,该错误在from子句中出现语法错误。当您使用sql组合jk和ik时,表名和where子句之间没有空格。这就是为什么你会出错的原因。有一个规格在那里吗 String jk = "where nam='" + txt1.getText() + "'"; String ik = "and password='" + txt2.getPassword() + " ' "; String sql; sql = "SELECT * FROM Table1" + jk + ik; rs = stmt.exec
String jk = "where nam='" + txt1.getText() + "'";
String ik = "and password='" + txt2.getPassword() + " ' ";
String sql;
sql = "SELECT * FROM Table1" + jk + ik;
rs = stmt.executeQuery(sql);
您必须在
jk
和ik
String jk =" where nam='"+txt1.getText()+"'";
String ik =" and password='"+txt2.getPassword()+" ' "; String sql;
sql = "SELECT * FROM Table1" +jk+ik;
rs = stmt.executeQuery(sql);
但最好是学习准备好的语句。尝试以下内容:
sql = "SELECT * FROM Table1" +jk+" "+ik;
最初您的查询如下所示
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';
您忘记在“where”和“and”之间添加空格
我还觉得nam将是表列中的名称在
from
和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);
为了避免将来出现此类错误,我建议使用
PreparedStatement
。这是Oracle教程
String jk ="where nam='"+txt1.getText()+"'";
String ik ="and password='"+txt2.getPassword()+" ' "; String sql;
sql = "SELECT * FROM Table1" + " " + jk + " " + ik; rs = stmt.executeQuery(sql);
这应该很好用。。!
干杯快乐编码:) 这似乎是错误的,无论是在语法上还是在逻辑上:+jk+ik在
where
和和之前都需要空格。在密码之后和关闭之前也有空格,这将使它无法工作。此外,该列是否真的命名为nam
?或者它是名称
?非常重要的是要精确,不要马虎。是的,它现在起作用了。谢谢你的帮助,现在可以用了。感谢您的帮助。请通过单击勾号选择此选项作为您的答案,不仅可以避免这些错误,还可以避免。
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();
String jk =" where nam='"+txt1.getText()+"' ";
String ik ="and password='"+txt2.getPassword()+"'";
String sql = "SELECT * FROM Table1" +jk+ik;
rs = stmt.executeQuery(sql);