Erro no preparedStatement

7 respostas
R

Olá, estou com o seguinte erro: Not yet implemented

package estoque;

import java.sql.ResultSet;

import javax.swing.*;

import java.sql.PreparedStatement;

import java.text.SimpleDateFormat;

public class CadAlunos extends javax.swing.JFrame {

private int vCodigo, vTipo;

private String vDescricao, vData_Validade;

java.util.Date data = null;

SimpleDateFormat formatDate;

ResultSet resultado_RS;
private void jbt_AdicionarActionPerformed(java.awt.event.ActionEvent evt) {

try {

vTipo = Integer.parseInt(jtf_Tipo.getText());

vDescricao = jtf_Descricao.getText();

vData_Validade = jtf_Data_Validade.getText();
formatDate = new SimpleDateFormat("dd/MM/yyy"); 
data = formatDate.parse(vData_Validade);

TestaConexao conexao = new TestaConexao();
conexao.conectaBanco();
[color=red]    String cQuerySql = (insert into Produtos(Descricao, Data_Validade, Tipo) values (?, ?, ?));

PreparedStatement stmt = conexao.prepareStatement(cQuerySql);

stmt.clearParameters();

stmt.setString(1, vDescricao);

stmt.setDate(2, new java.sql.Date(data.getTime()));

stmt.setInt(3, vTipo);

stmt.executeUpdate(cQuerySql); // aqui eu gostaria de chamar o método adicionarDados do TestaConexao.

[/color]

} catch(Exception e){

JOptionPane.showMessageDialog(null, Erro, Mensagens, JOptionPane.INFORMATION_MESSAGE);

System.out.println(e.getMessage());

}

}

CLASSE Testa_Conexao:
package estoque;

import java.sql.*;

import javax.swing.JOptionPane;

public class TestaConexao extends javax.swing.JFrame {
public Connection con = null;

public PreparedStatement stmt;

public Statement stm;

private ResultSet resultado_RS;
public Connection conectaBanco() {

try {

Class.forName(“org.firebirdsql.jdbc.FBDriver”);

con = DriverManager.getConnection (“jdbc:firebirdsql:localhost/3050:C:/Sistemas/Sistema Acadêmico/Dados/estoque.fdb, SYSDBA, masterkey);

stm = con.createStatement();
}
catch (Exception e) {
	System.out.println("Não foi possível conecttar ao banco: "+ e.getMessage());
}	
return con;	
}
[color=brown]   public void adicionarDados(String cQuerySql){

try {

stmt.executeUpdate(cQuerySql);

}catch(Exception e){

System.out.println(e.getMessage());

}

[/color]   }

7 Respostas

shoko

Formata seu código plz, e coloca qual erro que está dando.

e quando voce usar o preparedStatement não precisa colocar um string dentro dele

T

Bom acho que um pouco mais de detalhe ajudaria. Não sei se é aí que está dando o erro, mas me parece ser no executeUpdate do Prepared Statemand.
Nesse trecho:

String cQuerySql = ("insert into Produtos(Descricao, Data_Validade, Tipo) values (?, ?, ?)");
PreparedStatement stmt = conexao.prepareStatement(cQuerySql);
stmt.clearParameters();
stmt.setString(1, vDescricao);
stmt.setDate(2, new java.sql.Date(data.getTime()));
stmt.setInt(3, vTipo);
stmt.executeUpdate(cQuerySql);

Substitua stmt.executeUpdate(cQuerySql); por stmt.executeUpdate(); sem parâmetros. Já tive esse tipo de erro e isso funcionou para mim.

R

Alterei e não funcionou.

Desculpe a minha pergunta. Mas como vocês fazem para deixar o código com as linhas numeradas? Ao postar um tópico.

fiaux

rsa_tche:
Alterei e não funcionou.

Desculpe a minha pergunta. Mas como vocês fazem para deixar o código com as linhas numeradas? Ao postar um tópico.

Usando a tag Code ao responder.

R

Erro:

java.lang.UnsupportedOperationException: Not yet implemented

at estoque.TestaConexao.prepareStatement(TestaConexao.java:75)

at estoque.CadProdutos.jbt_AdicionarActionPerformed(CadProdutos.java:185)
No testaConexao: Linha 75 tem:

PreparedStatement prepareStatement(String string) {

throw new UnsupportedOperationException(Not yet implemented);

}

No CadProdutos: Linha 185 é: PreparedStatement stmt = conexao.prepareStatement(cQuerySql);

T

rsa_tche:

Onde tem:

}catch(Exception e){

System.out.println(e.getMessage());

}

Troca por e.printStackTrace() e cola aqui a mensagem que vai aparecer no teu console. Ajuda bastante a identificar o erro.

shoko

quando voce for postar rosa tem um label escrito corpo da mensagem do lado dele tem varios links …
b, i , u, quote, code, list, img , url, google, youtube, flash, wmv.

para deixar seu texto em linhas seleciona o seu cógio e aperta o botao code que já era.

e sobre seu código, retira o clearParameters que nao utiliza pra nada nesse caso, sendo que voce vai chamar o método de vez em vez.

Criado 1 de julho de 2008
Ultima resposta 1 de jul. de 2008
Respostas 7
Participantes 4