Nao consigo dar o insert no banco, me desculpem sou iniciante.
Qual seria a solução? :?
se rodar na classe direto ele conecta e da o aviso se colocar alguma forma de saida ( so pra confirmar)
public class conecta_mysql {
public String driver = "com.mysql.jdbc.Driver";
public String url = "jdbc:mysql://localhost/siscad";
public String user = "root";
public String senha = "";
public Connection conectar;
public Statement statement ;
public ResultSet resultSet;
}
aqui to usando a classe do form e tentando puxa a conexao e dar um insert.
public void actionPerformed(ActionEvent e)
{
if (e.getSource() == botao_gravar)
{
try
{
Class.forName(mysql_con.driver);
mysql_con.conectar = DriverManager.getConnection(mysql_con.url, mysql_con.user, mysql_con.senha);
String sql = "insert into cliente(Nome,data_nasc,cpf,rg,fone,endereco) values (?,?,?,?,?,?)";
PreparedStatement mysqPreparedStatement = this.mysql_con.conectar.prepareStatement(sql);
this.mysql_con.statement.setString(1,txt_Nome.getText());
this.mysql_con.statement.setString(2,txt_dataNasc.getText());
this.mysql_con.statement.setString(3,txt_cpf.getText());
this.mysql_con.statement.setString(4,txt_rg.getText());
this.mysql_con.statement.setString(5,txt_fone.getText());
this.mysql_con.statement.setString(6,txt_end.getText());
this.mysql_con.statement.executeUpdate(sql);
}
catch (SQLException sqlException) {
JOptionPane.showMessageDialog(null, "deu pau");
}
}
if (e.getSource() == botao_novo)
{
txt_Nome.setText("");
txt_cpf.setText("");
txt_dataNasc.setText("");
txt_fone.setText("");
txt_rg.setText("");
txt_end.setText("");
}
}
Olá,
Qual a mensagem de erro que aparece? A conexão é realizada com sucesso?
A conexao direta na classe de conexao realiza normal
o erro eh esse.
Exception in thread "AWT-EventQueue-0" java.lang.Error: Unresolved compilation problems:
The method setString(int, String) is undefined for the type Statement
The method setString(int, String) is undefined for the type Statement
The method setString(int, String) is undefined for the type Statement
The method setString(int, String) is undefined for the type Statement
The method setString(int, String) is undefined for the type Statement
The method setString(int, String) is undefined for the type Statement
at Cliente.Formulario_Cliente.actionPerformed(Formulario_Cliente.java:156)
at javax.swing.AbstractButton.fireActionPerformed(Unknown Source)
at javax.swing.AbstractButton$Handler.actionPerformed(Unknown Source)
at javax.swing.DefaultButtonModel.fireActionPerformed(Unknown Source)
at javax.swing.DefaultButtonModel.setPressed(Unknown Source)
at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(Unknown Source)
at java.awt.Component.processMouseEvent(Unknown Source)
at javax.swing.JComponent.processMouseEvent(Unknown Source)
at java.awt.Component.processEvent(Unknown Source)
at java.awt.Container.processEvent(Unknown Source)
at java.awt.Component.dispatchEventImpl(Unknown Source)
at java.awt.Container.dispatchEventImpl(Unknown Source)
at java.awt.Component.dispatchEvent(Unknown Source)
at java.awt.LightweightDispatcher.retargetMouseEvent(Unknown Source)
at java.awt.LightweightDispatcher.processMouseEvent(Unknown Source)
at java.awt.LightweightDispatcher.dispatchEvent(Unknown Source)
at java.awt.Container.dispatchEventImpl(Unknown Source)
at java.awt.Window.dispatchEventImpl(Unknown Source)
at java.awt.Component.dispatchEvent(Unknown Source)
at java.awt.EventQueue.dispatchEventImpl(Unknown Source)
at java.awt.EventQueue.access$000(Unknown Source)
at java.awt.EventQueue$3.run(Unknown Source)
at java.awt.EventQueue$3.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$1.doIntersectionPrivilege(Unknown Source)
at java.security.ProtectionDomain$1.doIntersectionPrivilege(Unknown Source)
at java.awt.EventQueue$4.run(Unknown Source)
at java.awt.EventQueue$4.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$1.doIntersectionPrivilege(Unknown Source)
at java.awt.EventQueue.dispatchEvent(Unknown Source)
at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.run(Unknown Source)
Não tenho certeza, mas parece que o erro está em alguma parte no método setString…
Você já testou a sua string de inserção
no console do mysql para ver se funciona?
ja testei passar os valor pelo dbtreeview num insert e foi normal
Mas em livros eu vi que se define “?” e depois passa por ali
this.mysql_con.statement.setString(1,txt_Nome.getText());
o numero 1 define o primeiro ponto e assim por diante.
String sql = "insert into cliente(Nome,data_nasc,cpf,rg,fone,endereco) values (?,?,?,?,?,?)";
PreparedStatement mysqPreparedStatement = this.mysql_con.conectar.prepareStatement(sql);
this.mysql_con.statement.setString(1,txt_Nome.getText());
this.mysql_con.statement.setString(2,txt_dataNasc.getText());
this.mysql_con.statement.setString(3,txt_cpf.getText());
this.mysql_con.statement.setString(4,txt_rg.getText());
this.mysql_con.statement.setString(5,txt_fone.getText());
this.mysql_con.statement.setString(6,txt_end.getText());
Da o mesmo erro de antes.
Tenta assim:
[code]PreparedStatement mysqPreparedStatement = this.mysql_con.conectar.prepareStatement(sql);
mysqPreparedStatement.setString(1,txt_Nome.getText());
mysqPreparedStatement.setString(2,txt_dataNasc.getText());
mysqPreparedStatement.setString(3,txt_cpf.getText());
mysqPreparedStatement.setString(4,txt_rg.getText());
mysqPreparedStatement.setString(5,txt_fone.getText());
mysqPreparedStatement.setString(6,txt_end.getText());
mysqPreparedStatement.executeUpdate(sql);
[/code]
po vei sumiu o erro do setString
mas gerou outro problema nao ta carregando o driver.
Class.forName(mysql_con.driver);
Exception in thread "AWT-EventQueue-0" java.lang.Error: Unresolved compilation problem:
Unhandled exception type ClassNotFoundException
adicionei sim olha ai na lib
Versão 3.0xxx, antes troque por uma versão mais recente:
http://dev.mysql.com/downloads/connector/j/
O conector do mysql já está na versão 5
E também eu acho que nem precisa mais usar essa linha
nao deu certo ainda 
comentei o carregador do driver
e mesmo assim ele ta caindo la no catch
public void actionPerformed(ActionEvent e)
{
if (e.getSource() == botao_gravar)
{
try
{
//aqui ele fica marcado
Class.forName(mysql_con.driver);
mysql_con.conectar = DriverManager.getConnection(mysql_con.url, mysql_con.user, mysql_con.senha);
String sql = "insert into cliente(Nome,data_nasc,cpf,rg,fone,endereco) values (?,?,?,?,?,?)";
PreparedStatement mysqlPreparedStatement = this.mysql_con.conectar.prepareStatement(sql);
mysqlPreparedStatement.setString(1,txt_Nome.getText());
mysqlPreparedStatement.setString(2,txt_dataNasc.getText());
mysqlPreparedStatement.setString(3,txt_cpf.getText());
mysqlPreparedStatement.setString(4,txt_rg.getText());
mysqlPreparedStatement.setString(5,txt_fone.getText());
mysqlPreparedStatement.setString(6,txt_end.getText());
mysqlPreparedStatement.executeUpdate(sql);
// E R R A D O
//PreparedStatement mysqPreparedStatement = this.mysql_con.conectar.prepareStatement(sql);
//this.mysql_con.statement.setString(1,txt_Nome.getText());
//this.mysql_con.statement.setString(2,txt_dataNasc.getText());
//this.mysql_con.statement.setString(3,txt_cpf.getText());
//this.mysql_con.statement.setString(4,txt_rg.getText());
//this.mysql_con.statement.setString(5,txt_fone.getText());
//this.mysql_con.statement.setString(6,txt_end.getText());
//this.mysql_con.statement.executeUpdate(sql);
}
catch (SQLException sqlException) {
JOptionPane.showMessageDialog(null, "deu pau");
}
}
}
Em algum lugar na inicialização da tua aplicação você está executando um comando assim?
Você pode fazer um teste, substitua o seguinte:
por
e veja se continua dando exceção na mesma linha…
Teu catch pode ficar melhor se você fizer assim
catch (SQLException sqlException) {
JOptionPane.showMessageDialog(null, "deu pau:"+ sqlException.getMessage());
}
Tentei e da o mesmo erro
o catch ta acusando os (?,?,?,?,?) do insert.
aff`s 
Opa, mais uma coisa:
Isso
Troque por: (sem o sql, ele já foi “preparado”)
po vei agora deu certo valeu obrigadao mesmo.
mais tive que colocar no Jtext a data invertida “yyyy”-“mm”-“dd”
fora essa duvida.
como colocar a mascara no campo?
tipo pra quando eu digitar colocar soh os numeros.