recomentações:
vc não está separando as responsabilidades de suas classes. se o seu controller está gerando o SQL que será utilizado no DAO, vc tem um problema ai.
o certo seria vc fazer passar esse array pro seu DAO, e ele montar o SQL e inserir no banco, afinal, a responsabilidade de persistencia é totalmente do DAO, não do controller.
após, isso, ao invés de vc utilizar Statment, vc deve utilizar PreparedStatment pra montar a sua query. fica muito mais legivel, é mais rápido e mais seguro, e vc fica menos sujeito a esse tipo de falhas.
faz essas alterações, acho que isso já vai resolver seu problema
PS: Não tenho certeza se tem essa interface em JME, mas acho que sim.
PS2: O executeUpdate retorna um In, que é o numero de linhas inseridas/atualizadas/deletadas, não um resultset, pelo menos foi o que eu entendi com a variavel “rs2” no seu código.
PS3: Abre um tópico na parte de JME do forum, assim pessoas com mais conhecimento específico vão poder te ajudar.
[]'s