/* * Click nbfs://nbhost/SystemFileSystem/Templates/Licenses/license-default.txt to change this license * Click nbfs://nbhost/SystemFileSystem/Templates/Classes/Class.java to edit this template */ package com.megatim.fdxcommons.tools.database.queries; import java.sql.Connection; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.sql.SQLException; /** * * @author ASUS */ public class LatestDataProductionTokenQuery { private final Connection connection; private final String referentielVersion; private final String codeTypeFichier; public LatestDataProductionTokenQuery(Connection connection, String referentielVersion, String codeTypeFichier) { this.connection = connection; this.referentielVersion = referentielVersion; this.codeTypeFichier = codeTypeFichier; } public String execute() throws SQLException { try ( PreparedStatement stmt = connection.prepareStatement(queryString())) { stmt.setString(1, codeTypeFichier); stmt.setString(2, referentielVersion); stmt.setString(3, codeTypeFichier); stmt.setString(4, referentielVersion); ResultSet result = stmt.executeQuery(); if (result.next()) { return result.getString(1); } return null; } } private String queryString() { String subQuery = "SELECT MAX(id) FROM dataproduction WHERE codetypefichier = ?" + " AND referentielversion = ? "; return "SELECT token FROM dataproduction WHERE codetypefichier = ?" + " AND referentielversion = ? AND ID IN (" + subQuery + ")"; } }