SQL查询:语法错误

时间:2014-10-15 15:00:59

标签: java mysql sql database jdbc

我正在尝试编写查询,但是我收到了语法错误。我知道这个错误在查询的语法中。这是查询

ResultSet set=statement.executeQuery("Select * from Ombrellone where PosizioneX='"+c.getX()+"',PosizioneY='"+c.getY()+"'" );

任何人都可以帮助我?

2 个答案:

答案 0 :(得分:5)

如果要在select上有多个条件,则必须使用AND,而不是逗号。

ResultSet set=statement.executeQuery("Select * from Ombrellone where PosizioneX='"+c.getX()+"' and PosizioneY='"+c.getY()+"'" );

旁注:Avoid using String concatination with query parameters. They causes SQL injections and try using PreparedStatement.

答案 1 :(得分:1)

虽然您的案例中的问题基本上是因为您在SQL查询中使用逗号是错误的,但是在使用WHERE子句时可以使用AND或OR来实现条件,但是 我建议你使用PreparedStatement而不是Statement。

String query = "Select * from Ombrellone where PosizioneX = ? and PosizioneY = ?"
PreparedStatement statement = conn.prepareStatement(query);
statement.setString(1,c.getX());
statement.setString(2,c.getY());
ResultSet resultSet = statement.executeQuery();

Refer difference between statement and preparedstatement