Probleminha com inserção de dados

E aí, pessoas? Tranqüilo?

Aí, tô com uma duvidazinha. Meu programa tem aproximadamente a seguinte forma:

[code]try {

// aqui eu tô bulindo com bd (conexão, etc.)
// e executo o seguinte comando SQL:
// INSERT INTO mytable ( campo1, campo2 ) VALUES ( ‘" + var1 + "’, ‘" + var2 + "’ )

} catch ( SQLException e ) {
JOptionPane.showMessageDialog( null, "Erro: " + e.getMessage() );
}[/code]

Aí então, quando o usuário entra com os dados a serem inseridos no BD, aparece uma mensagem na tela que diz “Erro: no ResultSet was created”. Sei que isso não é preocupante para o cliente (uma vez que a instrução é executada e os dados inseridos) mas gostaria de saber o que significa ao certo e como tratar?

Valeu! :wink:

bom, teriamos que ver o seu codigo pra ver certinho o que vc está fazendo… mas ele está caindo em exception…

se puder colocar o codigo aqui da pra ajudar!

cya =)

Aí, consegui resolver o problema, mas ainda restauma dúvida. O código original é o seguinte:

[code]Connection c = acss.AcessarDB();

String CommandSQL = “INSERT INTO mymusic ( artista, musica ) VALUES ( '” + art + “’, '” + mus + “’ )”;

Statement s = c.createStatement();

s.executeQuery( CommandSQL );[/code]

Obtive uns dados de uma árvore falante e mudei a última linha do bloco acima para:

Funcionou quando fiz a modificação, mas não entendi: só o fato de eu usar o executeQuery() já requer a criação de um Result Set (mesmo sem a atribuição direta a um objeto do tipo ResultSet)?

Obrigado.

Bom, não entendi sua pergunta…

mas, o executeUpdate(sql); funcionou porque ele foi feito pra isso mesmo, e o seu retorno eh um int com o numero de rowsAffected, e o executeQuery() retorna um ResultSet, por isso eh usado somente para consultas(selects), pois vc precisa de receber esse ResultSet para ter os dados depois…

bom, se era isso qeu vc queria saber, espero ter esclarecido suas dúvidas!

até mais!