我试图检索基于存储在skw文本框中的关键字的记录,当我传递USN或Age时,它会给出正确的结果,但它不能与Name 。它抛出错误:com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorExceptionUnknown列“NAME_KEYWORD(SKW)”在“where子句”MySQLSyntaxErrorException:'where子句'中的未知列'John'
ResultSet res=stmt.executeQuery("select * from Student where USN="+skw.getText()+" or Name='"+skw.getText()+"' or Age="+skw.getText()+"");
的可能的复制[com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException:未知列“史密斯”在“where子句”](HTTP: //stackoverflow.com/questions/1632893 5/com-mysql-jdbc-exceptions-jdbc4-mysqlsyntaxerrorexception-unknown-column-smith) –
不要将值连接到查询字符串中。您的代码易受SQL注入攻击。相反,您应该使用带有参数的准备好的语句,然后设置每个参数的值。司机然后将正确处理任何必要的逃跑等。 –