Olá pessoal, estou com a seguinte questão, eu tenho o seguinte código:
String SQL = "INSERT INTO alerts.analyzer VALUES (?,?,?,?,?)";
PreparedStatement st = db.prepareStatement(SQL);
st.setInt(1,analyzerId);
st.setString(2,name);
st.setString(3,manufacturer);
st.setString(4,model);
st.setString(5,version);
linhas = st.executeUpdate();
Na tabela ‘analyzer’ do banco o único campo obrigatório é a chave primária: ‘analyzerId’, todos os outros campos podem ser NULL. Os valores para os atributos eu consigo através de um formulário web (todos os atributos são inicializados com null, se o formulário não passar nenhum valor ele continua valendo null).
Se no formulário eu quiser deixar o campo ‘name’ sem preencher para que seja inserido NULL ao banco eu consigo uma exceção, porque o método ‘setString’ foi feito para Strings e não para valores NULL, como eu posso resolver isso ?
Daria pra fazer um IF pra cada campo verificando se o valor é null antes de inserir ao banco, se for null é usar o setNull ao invés do setString, mas é inviavel fazer um if para cada campo em minha opinião. Existe alguma forma melhor e mais usual de resolver esse problema ?
Obrigado.
