Quote Originariamente inviata da frenz_y Visualizza il messaggio
String sql= "insert into Utenti (username,password,ruolo) VALUES (username,password,ruolo);";
Questo che hai scritto (parte in rosso in modo specifico) non ha senso. Prima di VALUES ci vanno appunto i nomi delle colonne della tabella. Ma dopo il VALUES ci vanno i valori veri e propri. Non puoi mettere username solo così

Dovresti comporre la stringa SQL usando la concatenazione delle stringhe e accodando le tue vere variabili username, ecc.. nella stringa. Questo però ti espone a parecchi problemi: di sicurezza, di escaping dei caratteri speciali.

Quando devi passare valori ad una query di insert/update/delete, è bene usare un PreparedStatement