Il '?' indica un valore variabile nel comando sql.
Dovrai utilizzare quindi un PreparedStatement invece di uno Statement e prima di eseguire la query impostarne il valore con il metodo appropriato.
codice:
preparedstatement.setShort(index, value);
preparedstatement.setString(index, value);
Nell'esempio ci sono solo short e string, ma c'è un metodo per ogni tipo di dato.
L'index indica quale ? deve sostituire; nel tuo caso è 1 (la numerazione NON parte da zero), ma potresti metterne tanti quanti campi devi inserire.
Nel tuo caso, dovrai impostare il valore del campo 'a'