CIAO!

Nel database di sql server ho la tabella Animale con i seguenti campi:
Cod_animale(chiave),nome,Specie,Genere,Cod_gabbia

l'inserimento lo voglio fare dall'applicazione java che si interfaccia al database:

i campi vengono presi dal jtextField nel quale sono inseriti:

if(PulsantePremuto==jButton6){

String insert = new String();
insert = jTextField2.getText();
System.out.println(insert);

try {
String s,p = new String();
Connection conn = DriverManager.getConnection("jdbcdbcrova","ELISA","");
Statement stmt = conn.createStatement();

//QUESTA NON FUNZIONA
stmt.executeUpdate("INSERT INTO prova.dbo.Animale" + "(Cod_animale,Nome,Specie,Genere,Cod_gabbia)" + "VALUES ( " +insert+ ")");

//fUNZIONA ma i valori sono immessi da programma e non da jtextfield2
//stmt.executeUpdate("INSERT INTO prova.dbo.Animale" + "(Cod_animale,Nome,Specie,Genere,Cod_gabbia)" + "VALUES ('RA4','fisc','anfibio','rana','G1')");

stmt.close();
conn.close();
}
catch (Exception er) {er.printStackTrace();}
}

Come posso sistemare la insert non funzionante?
l'errore che otteengo è il seguente:

The name "RA4" is not permitted in this context. Valid expressions are constants, constant expressions, and (in some contexts) variables. Column names are not permitted

Grazie ancora!