Problemas com BD

Ola pessoal, me ajudem!

Eu estou tentando fazer um sisteminha para um trabalho da facu e estou tendo problemas para fazer conexão com banco de dados, quer dizer, com um comando em especifico que teima em não funcionar. O banco foi feito em MySQL.

Foi assim que eu conectei o sistema com o bd:

[code]driver = “org.gjt.mm.mysql.Driver”;
url = “jdbc:mysql://localhost/projetointegrado”;
usuario = “root”;
senha = “sleipnir”;
try
{
Class.forName(driver);
conexao = DriverManager.getConnection(url, usuario, senha);
statement = conexao.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,
ResultSet.CONCUR_UPDATABLE);
rs = statement.executeQuery(“select * from notificacao”);
if (rs.next())
{
tNumero.setText(rs.getString(“numero”));
tData.setText(rs.getString(“data_notificacao”));
tDescricao.setText(rs.getString(“descricao_prod”));
tQtde.setText(rs.getString(“qtde”));
tCategoria.setText(rs.getString(“categoria”));
tPeso.setText(rs.getString(“peso_unitario”));
tValUnit.setText(rs.getString(“valor_unitario”));
tLogradouro.setText(rs.getString(“logradouro”));
tMunicipio.setText(rs.getString(“municipio”));
tEstado.setText(rs.getString(“estado”));
RegiaoEntrega.setSelectedItem(rs.getString(“regiao”));
}
else
{
JOptionPane.showMessageDialog(this, “Não há mais dados!”);
rs.previous();
}

	}
	catch(ClassNotFoundException Driver) 
	{
		JOptionPane.showMessageDialog(null,"Driver não localizado: "+Driver);
	}
	catch(SQLException Fonte) 
	{
		JOptionPane.showMessageDialog(null,"Deu erro na conexão "+
				"com a fonte de dados: "+Fonte);
	}[/code]

Ai eu tenho um botão que serve para incluir itens no bd, segue abaixo:

[code]public void actionPerformed(ActionEvent e)
{

	if (e.getSource()==bIncluir)
	{
		try{
			rs.updateString("numero", tNumero.getText());
			rs.updateString("data_notificacao", tData.getText());
			rs.updateString("descricao_prod", tDescricao.getText());
			rs.updateString("qtde", tQtde.getText());
			rs.updateString("valor_unitario", tValUnit.getText());
			rs.updateString("peso_unitario", tPeso.getText());
			rs.updateString("categoria", tCategoria.getText());
			rs.updateString("logradouro", tLogradouro.getText());
			rs.updateString("municipio", tMunicipio.getText());
			rs.updateString("estado", tEstado.getText());
			//rs.updateString("regiao", (String) RegiaoEntrega.getSelectedItem());
			rs.insertRow();

			JOptionPane.showMessageDialog(null, "Registro Inserido!");

			//reposiciono no registro atual, atualizando o resultSet com o que tem no banco
			int posAtual = rs.getRow();
			rs = statement.executeQuery("SELECT * FROM notificacao");
			rs.absolute(posAtual);
			rs.next();

			tNumero.setText(rs.getString("numero"));
			tData.setText(rs.getString("data_notificacao"));
			tDescricao.setText(rs.getString("descricao_prod"));
			tQtde.setText(rs.getString("qtde"));
			tCategoria.setText(rs.getString("categoria"));
			tPeso.setText(rs.getString("peso_unitario"));
			tValUnit.setText(rs.getString("valor_unitario"));
			tLogradouro.setText(rs.getString("logradouro"));
			tMunicipio.setText(rs.getString("municipio"));
			tEstado.setText(rs.getString("estado"));
			RegiaoEntrega.setSelectedItem(rs.getString("regiao"));

		}
		catch(SQLException ex)
		{
			JOptionPane.showMessageDialog(this,"Problemas no comando SQL: "+ex);
		}
	}[/code]

Então pessoal…o sistema conecta, fica bunitinho, ai quando eu acioo o botão incluir aparece a mensagem:
java.sql.SQLException:Not on insert row

o que é isso? Tem alguma coisa errada no código, pois eu ja utilizei isso com uma conexão com Access, que em tese funciona da mesma forma (quando tratamos de utilizar os comando o resultSet).

Me ajudem!!! Obrigado!

Bom,
posso estar falando besteira mas acho que é isso,
a classe ResultSet representa uma “consulta” do banco de dados.
Para incluir alguma coisa no banco, você deve usar um Statement (ou PreparedStatement ).
Dessa maneira que você programou, você está tentando modificar uma linha do banco que já deveria estar associada ao objeto ResultSet (através de uma consulta),
como não está associado, a exceção é disparada.
Acho que é isso, se estiver errado alguém me corrija, por favor.

[quote=julianofischer]Bom,
posso estar falando besteira mas acho que é isso,
a classe ResultSet representa uma “consulta” do banco de dados.
Para incluir alguma coisa no banco, você deve usar um Statement (ou PreparedStatement ).
Dessa maneira que você programou, você está tentando modificar uma linha do banco que já deveria estar associada ao objeto ResultSet (através de uma consulta),
como não está associado, a exceção é disparada.
Acho que é isso, se estiver errado alguém me corrija, por favor.[/quote]

Como assim? Não deu para entender, pois eu utilizei como base um exercicio que o meu professor passou, te identico praticamente.
Eu não entendi porque dispara essa excessão, pois para fazer update ele funciona, é só eu trocar insertRow() por updateRow().

Não consigo entender, mas de qualquer maneira muito obrigado, eu vou fazer o projeto executando os comandos SQL, vou desistir de usar os comandos diretos do resultSet.

Valeu!