BOM DIA PESSOAL,
ESTOU FAZENDO UM MINI PROGRAMA COM INTERFACES GRÁFICAS E CONEXÃO AO BANCO MYSQL.
MINHA PROBLEMA É O SEGUINTE , QUANDO APERTAR NO BOTÃO “OK” GERA UM EVENTO ONDE OS JTEXTFIELD PREENCHIDOS VÃO PARA O BANCO, O EVENTO E A CONEXAO ESTÃO NORMAL SEM ERRO, MAS O ERRO GERA NA HORA DE INSERIR OS DADOS …
GOSTARIA DE UMA AJUDA NO INSERT…
OLHA O CÓDIGO…
[code]
String a=txtnome.getText();
String b=txtcpf.getText();
String c=txtendereco.getText();
String d=txtcidade.getText();
String e=txtbairro.getText();
String sql="(INSERT INTO login(nome,cpf,endereco,cidade,bairro VALUES (?,?,?,?,?)";
java.sql.PreparedStatement pstmt=conn.prepareStatement(sql);
pstmt.setString(1,a );
pstmt.setString(2,b);
pstmt.setString(3,c );
pstmt.setString(4,d );
pstmt.setString(5, e);
int r= stm.executeUpdate(sql);
vc tem configurar no seu build path o driver de conexão com o MySQL. Após isso, vc deve ser conectar ao banco de dados pra executar qq comando sql. Dá uma sacada:
import java.sql.Connection;
import java.sql.DriverManager;
public class ConnectionFactory
{
protected ConnectionFactory() {}
public static Connection getConnection() throws Exception
{
try
{
Class.forName("com.mysql.jdbc.Driver");
Connection conn = DriverManager.getConnection ("jdbc:mysql://[databasehost]/[databasename], "root", "root");
return conn;
}
catch (Exception e)
{
throw e;
}
}
}
Esse é a ConnectionFactory de onde vc vai gerar a conexão com o banco de dados. Agora vc executa o comando que quiser:
try
{
Connection conn = ConnectionFactory.getConnection();
PreparedStatement stmt = this.conn.prepareStatement("INSERT INTO Cliente (nome, endereco, telefone, celular, fax, email, cpf, rg, dataNascimento, sexo, tipoCliente) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)");
stmt.setString(1, cliente.getNome());
stmt.setString(2, cliente.getEndereco());
stmt.setString(3, cliente.getTelefone());
stmt.setString(4, cliente.getCelular());
stmt.setString(5, cliente.getFax());
stmt.setString(6, cliente.getEmail());
stmt.setString(7, cliente.getCpf());
stmt.setString(8, cliente.getRg());
stmt.setString(9, DataHora.formatarData(cliente.getDataNascimento()));
stmt.setString(10, cliente.getSexo());
stmt.setString(11, cliente.getTipoCliente());
stmt.execute();
stmt.close();
this.conn.close();
}
catch (Exception e)
{
System.out.println(e.getMessage());
}
Amigo, na sua sql, vc abriu parênteses demais, e um q vc esqueceu de fechar. Troca por essa linha:
VALEW PESSOAL!
DEU CERTO AGORA GRAÇAS A VC6 , FICOU ASSIM OH…
java.sql.PreparedStatement pstmt=conn.prepareStatement(“INSERT INTO login(nome,cpf,endereco,cidade,bairro) VALUES (?,?,?,?,?)”);
pstmt.setString(1,txtnome.getText());
pstmt.setString(2,txtcpf.getText());
pstmt.setString(3,txtendereco.getText());
pstmt.setString(4,txtcidade.getText());
pstmt.setString(5,txtbairro.getText());
pstmt.execute();