Java MySQL SELECT在JDBC中不起作用

Java MySQL SELECT在JDBC中不起作用,java,mysql,jdbc,Java,Mysql,Jdbc,我有一个MySQL查询 选择 Kompettence.Kompettence_odlisujici_子类别。nazev作为odlisujici_nazev, 托莱罗瓦纳, 扎达纳, 阿克图阿尔尼 来自Komptence_odlisujici,Komptence.Komptence_odlisujici_子类别 其中komptence_odlisujici.os_cislo_zamestnanec=? 和托莱罗瓦纳0 扎达纳0 和aktualni 0 年份=? 和IPR.komptence_odl

我有一个MySQL查询

选择 Kompettence.Kompettence_odlisujici_子类别。nazev作为odlisujici_nazev, 托莱罗瓦纳, 扎达纳, 阿克图阿尔尼 来自Komptence_odlisujici,Komptence.Komptence_odlisujici_子类别 其中komptence_odlisujici.os_cislo_zamestnanec=? 和托莱罗瓦纳0 扎达纳0 和aktualni 0 年份=? 和IPR.komptence_odlisujici.active=1 和komptence.komptence_odlisujici_子类别.id=PR.komptence_odlisujici.id_odlisujici_子类别 如果我在MySQL Workbench中尝试它,它工作得很好,但是当我尝试在java代码中使用它时,我得到了这个错误

SQLException :You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'WHERE kompetence_odlisujici.os_cislo_zamestnanec = '123456' AND tolerovana <> 0 ' at line 1
我做错了什么

谢谢你的帮助

编辑java代码

DataSourcePool dspService = sling.getService(DataSourcePool.class);
DataSource dsMySql = (DataSource) dspService.getDataSource("myConnection");
PreparedStatement preparedStatement = null;
if(dsMySql != null){
String sqlQuery = "SELECT kompetence.kompetence_odlisujici_subcategories.nazev as odlisujici_nazev, tolerovana, zadana, aktualni"+
                "FROM IPR.kompetence_odlisujici, kompetence.kompetence_odlisujici_subcategories "+
                "WHERE IPR.kompetence_odlisujici.os_cislo_zamestnanec = ? AND tolerovana <> 0 AND zadana <> 0 AND aktualni <> 0 AND year = ? AND IPR.kompetence_odlisujici.active = 1"+
                "AND kompetence.kompetence_odlisujici_subcategories.id = IPR.kompetence_odlisujici.id_odlisujici_subcategory";
  Connection mySqlConnection = mySqlConnection = dsMySql.getConnection();
    preparedStatement = mySqlConnection.prepareStatement(sqlQuery);
  String workingUser = this.getWorkingUser();
  int year = Calendar.getInstance().get(Calendar.YEAR);
    preparedStatement.setString(1, workingUser);
    preparedStatement.setInt(2, year);
  ResultSet resultSet = preparedStatement.executeQuery();
  resultSet.last();
    int count = resultSet.getRow();
    resultSet.beforeFirst();
  /*
  parse result set here
  */
}
aktualni和FROM之间没有空格,IPR.kompettence_odlisujici.active=1和kompettence.kompettence_odlisujici_子类别之间没有空格。id=IPR.kompettence_odlisujici.id_odlisujici_子类别


另外,我的建议是将这些查询作为类中的私有静态final。

请包含java代码。在FROM的末尾是否有空格或换行符。。。行,或者事实上在每行上?在我看来,os_cislo_zamestnanec是一个数字,不需要tics。您的一些行缺少空格。。。aktualni+来自。。。需要一个空间在一边或另一边,因为它目前合并到aktualniFROM。谢谢!我没有注意到缺少空格!再次感谢你!不客气。你不是唯一一个有这个问题的人:D
String sqlQuery = "SELECT kompetence.kompetence_odlisujici_subcategories.nazev as odlisujici_nazev, tolerovana, zadana, aktualni "+
                "FROM IPR.kompetence_odlisujici, kompetence.kompetence_odlisujici_subcategories "+
                "WHERE IPR.kompetence_odlisujici.os_cislo_zamestnanec = ? AND tolerovana <> 0 AND zadana <> 0 AND aktualni <> 0 AND year = ? AND IPR.kompetence_odlisujici.active = 1 "+
                "AND kompetence.kompetence_odlisujici_subcategories.id = IPR.kompetence_odlisujici.id_odlisujici_subcategory";