public String insertFile(File file) throws SQLException { String newName = file.getName() + "_" + (this.getFileLastID() + 1); if (isFriend(file.getSender(), file.getReceiver()) && !existFile(file)) { // Check if the sender and receiver are friends try { // creates a SQL Statement object in order to execute the SQL insert command stmt = conn.createStatement(); stmt.execute( "INSERT INTO Files (Filename, Size, Sender, Receiver, DateUpload, TimeUpload ) " + "VALUES ('" + newName + "', " + (int) file.length() + ", " + getProfileID(file.getSender()) + ", " + getProfileID(file.getReceiver()) + ", '" + file.getDateUpload() + "' , '" + file.getTimeUpload() + "')"); stmt.close(); // System.out.println("Requête executée"); } catch (SQLException e) { // System.err.println(e.toString()); e.toString(); throw e; } return newName; } else { return null; } }
public boolean existFile(File file) { boolean res = false; int senderID = this.getProfileID(file.getSender()); int receiverID = this.getProfileID(file.getReceiver()); if (senderID != -1 && receiverID != -1) { try { // creates a SQL Statement object in order to execute the SQL insert command stmt = conn.createStatement(); ResultSet result = stmt.executeQuery( "SELECT * FROM FILES WHERE Size=" + (int) file.length() + " AND Sender=" + senderID + " AND Receiver=" + receiverID + " AND Filename LIKE '" + file.getName() + "%'"); if (result.next()) { res = true; } } catch (SQLException ex) { Logger.getLogger(DataService.class.getName()).log(Level.SEVERE, null, ex); } } return res; }