Erro em inserção de dados

3 respostas
T

Boa Tarde…
Tenho um codigo para manipular dados de cliente com acesso ao banco de dados, mas quando vou incluir um cliente ele me retorna um erro.
A inha rotina de tratamento de erro me diz:
[color=“red”]
Problemas no acesso ao banco de dados !
As mensagens retornadas são:
SQLState: null
Mensagem: No ResultSet was produced
Código do erro: 0
[/color]

O código que uso para fazer a inserção é este:

[color=red]

Class.forName(sun.jdbc.odbc.JdbcOdbcDriver);

Connection con = DriverManager.getConnection (odbc, “”, “”);

Statement stmt = con.createStatement();

String query = INSERT INTO cliente (matricula, nome, rua, numero, bairro, cidade, cep, uf, complemento, fone, email) +

VALUES (’” + Txt_Matricula.getText() + “’,’” + Txt_Nome.getText() + “’,’” + Txt_Rua.getText() +

”’, " + Integer.parseInt(Txt_Num.getText()) + “, '” + Txt_Bairro.getText() +

”’, ‘" + Txt_Cidade.getText() + "’, ‘" + Txt_Cep.getText() +

"’, ‘" + Txt_Uf.getText() + "’, ‘" + Txt_Comp.getText() +

"’, ‘" + Txt_Fone.getText() + "’, ‘" + Txt_Email.getText() +	"’)";

System.out.println(query);

ResultSet rs = stmt.executeQuery(query);

stmt.close();

con.close();

[/color]

O que o System.out.println me retorna é isto:
[color=“red”]
INSERT INTO cliente (matricula, nome, rua, numero, bairro, cidade, cep, uf, complemento, fone, email) VALUES (‘54645’,‘Anderson’,‘Estrada Rio Negro’, 10, ‘Lençol’, ‘São Bento do Sul’, ‘89290-000’, ‘SC’, ‘Fundos’, ‘1234-5678’, ‘[email removido]’)
[/color]

Alguém pode me ajudar do porque deste erro, e como posso corrigilo?

Obrigado…

Abrass…

3 Respostas

J

Porque o insert não retorna um ResultSet, portanto, você não pode usar o executeQuery() com ele, assim como não pode usar com update, delete, create, etc…

System.out.println(query); stmt.executeUpdate(query); stmt.close(); con.close();

Dê uma olhada em um video sobre JDBC que tem aí, http://jairelton.com, talvez ajude.

Dica: Use PreparedStatement no lugar de Statement para eliminar essas concatenações.

T

Bacana…
Funcionou…
Só não entendi a respeito das concatenações… como usaria o PreparedStatement?
Obrigado…

C

http://publib.boulder.ibm.com/infocenter/db2luw/v8/index.jsp?topic=/com.ibm.db2.udb.doc/ad/tjvpsxup.htm

da uma olhada.

Criado 12 de novembro de 2006
Ultima resposta 13 de nov. de 2006
Respostas 3
Participantes 3