Boa noite pessoal,
Depois de muito pesquisar e nenhum sucesso nas minhas tentativas resolvi abrir este tópico.
Estou desenvolvendo um projeto em java, um cadastro qualquer e simplesmente não consigo dar o INSERT na minha tabela.
Já dei um system.out.println no meu sql e ver se é algum erro de sintaxe no meu sql mas está tudo OK, copio a String da sql gerado pelo java e faço o INSERT manualmente funciona 100%.
Estou usando netbeans.
Bom, explicando meu projeto:
-Criei uma classe mysql dentro de um pacote util.package Util;
import java.sql.*;
import javax.swing.*;
import java.util.*;
public class mysql{
final private String driver = "com.mysql.jdbc.Driver";
final private String url = "jdbc:mysql://localhost:3306/tcc";
final private String usuario = "root";
final private String senha = "";
private Connection conectar;
public Statement stm;
public ResultSet rs;
public boolean isConnect(){
boolean result = true;
try{
Class.forName(driver);
conectar = DriverManager.getConnection(url, usuario, senha);
JOptionPane.showMessageDialog(null, "conectado");
}
catch(ClassNotFoundException Driver){
JOptionPane.showMessageDialog(null, "Driver nao localizado: " + Driver);
result = false;
}
catch(SQLException Fonte){
JOptionPane.showMessageDialog(null, "Erro na conexão com a fonte de dados: " + Fonte);
result = false;
}
return result;
}
public void desconectar(){
boolean result = true;
try{
conectar.close();
JOptionPane.showMessageDialog(null, "Banco desconectado");
}
catch(SQLException fechabanco){
JOptionPane.showMessageDialog(null, "Não foi possível desconectar do banco: " + fechabanco);
result = false;
}
}
public void executaSQL(String sql){
try{
stm = conectar.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE, ResultSet.CONCUR_READ_ONLY);
rs = stm.executeQuery(sql);
}
catch(SQLException sqlex){
JOptionPane.showMessageDialog(null, sqlex.getMessage() + "SQL: " + sql);
}
}
}
private void lbInserirNovoModActionPerformed(java.awt.event.ActionEvent evt) {
mysql con_novomodelo;
con_novomodelo = new mysql();
con_novomodelo.isConnect();
try{
String sqlModelo = "INSERT INTO estator_pcp (tipo,tubo,geometria,vazao,"
+ "d_maior_nominal,d_menor_nominal,"
+ "coe_dil_d_maior,coe_dil_d_menor,"
+ "diam_int_tubo,tela) "
+ "VALUES ((SELECT codigo FROM tipo WHERE (descricao = '" + jcbTipo.getSelectedItem() + "')),"
+ "(SELECT codigo FROM tubo WHERE (descricao = '" + jcbTubo.getSelectedItem() + "')),"
+ "(SELECT codigo FROM geometria WHERE (descricao = '" + jcbGeometria.getSelectedItem() + "')),"
+ "(SELECT codigo FROM vazao WHERE (descricao = '" + jcbVazao.getSelectedItem() + "')),"
+ jtfdmaior.getText() + "," + jtfdmenor.getText() + "," + jtfCoedil_dmaior.getText() + "," + jtfCoeDil_dmenor.getText() + ","
+ jtfIdTubo.getText() + "," + tela + ")";
con_novomodelo.stm.executeUpdate(sqlModelo); //ESTA LINHA NÃO FUNCIONA, O QUE HÁ DE ERRADO?
JOptionPane.showMessageDialog(null, "gravado");
}
catch(SQLException erro){
}
}