Eai pessoal blza,
estou quebrando a cabeça
preciso de fazer um insert no banco
essa classe aqui ele seta o valor do campo
//Trata Eventos dos Botoes
public void actionPerformed(ActionEvent e)
{
if(e.getSource()==bcadastrar)
{
CadastraMotoristabd cm = new CadastraMotoristabd(tnome.getText());
cm.incluiBanco();
}
}
Essa classe aqui abaixo é a que grava no Banco de dados
import java.sql.*;
class CadastraMotoristabd
{
String nome;
public CadastraMotoristabd()
{
}
public CadastraMotoristabd(String nome)
{
this.nome=nome;
}
public String getNome()
{
return this.nome;
}
public void setNome(String nome)
{
this.nome=nome;
}
public void incluiBanco()
{
String url = "jdbc:odbc:dbPortal";
try {
Connection MinhaConexao = DriverManager.getConnection(url);
PreparedStatement pstmt = MinhaConexao.prepareStatement("INSERT INTO TBMotorista (dbnome)Values(?)");
pstmt.setString(1, "");
pstmt.close();
MinhaConexao.close();
}
catch(SQLException erro)
{
if(erro.getMessage().equals("General error"))
javax.swing.JOptionPane.showMessageDialog(null,"Veiculo já cadastrado!");
else
javax.swing.JOptionPane.showMessageDialog(null,"Dado(s) invalido(s)
" + erro);
}
}
}
E quando clico no botao bcadastrar vem a mensagem
de erro SQLException erro:
No suitable driver
e ontem a noite meio que kase dormindo setei
pstmt.setString(1, “Teste”);
ai rodei o programa digitei Lucas no campo tnome
e gravou certo no banco de dados
ai pegue e setei dinovo como
pstmt.setString(1, getNome());
ólha num sei como mais foi o seguinte eu deixei la assim
pstmt.setString(1, getNome());
ai naõ funcionou deu o erro citado ai derrepente
como estou usando agora o PreparedStatemente
imaginei entrar com um valor para ver se ele estava salvando no banco
ai colokei “Teste”;
ai rodei e colokei o nome e deu certo salvou como Lucas.
depois colokei pstmt.setString(1, getNome()); e naõ funcionou
ai voltei a colocar “Teste”; e não funcionou:
Peraí de novo hehe você fala para ele incluir um motorista chamado ‘Teste’, mas ele inclui um chamado ‘Lucas’?
Você tem certeza que quando chama getNome() o objeto ‘nome’ tem o valor esperado? Será que ele não está nulo quando você chama a função incluiBanco()?
Agora uma coisa importante: falar aqui que alguma coisa “não funciona” é complicado, pode postar a exceção inteira que você recebe quando testa o programa usando getNome()?
//Trata Eventos dos Botoes
public void actionPerformed(ActionEvent e)
{
if(e.getSource()==bcadastrar)
{
CadastraMotoristabd cm = new CadastraMotoristabd(tnome.getText());
cm.incluiBanco();
}
}
certo intendeu aqui eu chamo a classe CadastraMotoristabd e dou o valor de nome para ela pegando de um JTextField.
aqui ésta a classe em que faz o insert no banco
import java.sql.*;
class CadastraMotoristabd
{
String nome;
public CadastraMotoristabd()
{
}
public CadastraMotoristabd(String nome)
{
this.nome=nome;
}
public String getNome()
{
return this.nome;
}
public void setNome(String nome)
{
this.nome=nome;
}
public void incluiBanco()
{
String url = "jdbc:odbc:dbPortal";
try {
Connection MinhaConexao = DriverManager.getConnection(url);
PreparedStatement pstmt = MinhaConexao.prepareStatement("INSERT INTO TBMotorista (dbnome)Values(?)");
pstmt.setString(1, "");
pstmt.close();
MinhaConexao.close();
}
catch(SQLException erro)
{
if(erro.getMessage().equals("General error"))
javax.swing.JOptionPane.showMessageDialog(null,"Veiculo já cadastrado!");
else
javax.swing.JOptionPane.showMessageDialog(null,"Dado(s) invalido(s)
" + erro);
}
}
}
e quando cliko no Botao bcadastrar com dado ou sem dado no JTextField da esso erro
java.lang.SQLException = NO SUITABLE DRIVER
voces me entenderao se não intenderam me de um exemplo de um programa vosso para eu analizar
Cara, estou achando bizarro pois esta exceção ocorre quando sua aplicação não consegue encontrar o driver correto para se conectar ao banco de dados. Portanto, não era para ocorrer no insert no banco nunca, nem quando você colocar “Teste” no parâmetro do PreparedStatement.
Mesmo assim, você tem certeza que a propriedade ‘nome’ não tem valor nulo? Tem certeza? Pois se o valor dela é null, também há a possibilidade de ocorrer algum erro.