Insert no Banco de dados

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());

ou esqueci de colocar o valor lá esta
pstmt.setString(1, getNome());

lá esta vazio “” está errado

Perai, quando coloca “” dá ‘No suitable driver’ e quando coloca “Teste” funciona? Tem certeza disso cara?

ó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:

e não sei o porque;

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()?

Vou retorna a explicar esta dando o seguinte erro

essa classe aqui eu seto o valor do Nome
setNome

//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

esqueci de alterar aqquele campo
o correto é
pstmt.setString(1, getNome());

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.

eu estou setando o valor para ela assim so se eu estiver errado
estou jogando o valor para nome assim

de minha aplicacao desktop
clando kiklar no botao cadastrar ele faz

CadastraMotoristabd cm = new CadastraMotoristabd(tnome.getText());
cm.incluiBanco();

Eai pessoal
consegui resolver o problema faltava a seguinte linha
Class.forName(“sun.jdbc.odbc.JdbcOdbcDriver”);

até mais!!!