Sie können nur eine Anweisung mit einem einzigen PreparedStatement ausführen. Sie müssen die SQL in zwei separate insert into aufteilen ... Sequenzen.
Auch
INSERT INTO DISTRIBUTES (PEERID, FILEID) VALUES (" + peerID + ",LAST_INSERT_ID());";
sieht nicht so aus, als würde man ein PreparedStatement verwenden - es hat eine fest codierte peerID statt Platzhalter ?