Erro ao inserir dados na tabela

Bom dia!!

Galera to precisando de uma ajuda, estou aprendendo java agora e ao tentar desenvolver uma tela para cadastro de usuário, ele faz a conexão com o banco, mas quando mando processar para inserir os dados na tabela ele da um erro …

abaixo erro e o código…

Exception in thread “AWT-EventQueue-0” java.lang.NullPointerException
at Cadastros.Usuarios.jButton1ActionPerformed(Usuarios.java:141)
at Cadastros.Usuarios.access$000(Usuarios.java:21)
at Cadastros.Usuarios$1.actionPerformed(Usuarios.java:58)
at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:1995)
at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2318)
at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:387)
at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:242)
at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:236)
at java.awt.Component.processMouseEvent(Component.java:6263)
at javax.swing.JComponent.processMouseEvent(JComponent.java:3267)
at java.awt.Component.processEvent(Component.java:6028)
at java.awt.Container.processEvent(Container.java:2041)
at java.awt.Component.dispatchEventImpl(Component.java:4630)
at java.awt.Container.dispatchEventImpl(Container.java:2099)
at java.awt.Component.dispatchEvent(Component.java:4460)
at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4574)
at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4238)
at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4168)
at java.awt.Container.dispatchEventImpl(Container.java:2085)
at java.awt.Window.dispatchEventImpl(Window.java:2478)
at java.awt.Component.dispatchEvent(Component.java:4460)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:599)
at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:269)
at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:184)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:174)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:169)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:161)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:122)

package videoaula;

import javax.swing.;
import java.sql.
;

public class conecta
{
public static ResultSet RsDB; // ResultSet
public static Statement StDB; //Statement
public static Connection cnn;//Variavel de conexao

        public void connecta()
        {
	try{
		Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");

		Connection cnn = DriverManager.getConnection("jdbc:sqlserver://localhost:1434;databaseName=videoaulajava","sa","v4n3224");
                    JOptionPane.showMessageDialog(null, "CONEXÃO BEM SUCEDIDA");
	}
	catch(Exception e)
	{
		System.out.println(e);
		}
        }

        public void desconecta()
        {
            Connection cnn = null;
            boolean result = true;
            try
            {
                cnn.close();
                JOptionPane.showMessageDialog(null, "banco fechado");

             }
            catch(SQLException erroSQL)
            {
           JOptionPane.showMessageDialog(null, "Não Foi possivel "+
                   "fechar o banco de dados: "+ erroSQL.getMessage());
           result = false;
            }
        }

        public void executeSQL (String sql)

        {
            try
            {
                StDB = cnn.createStatement();
                RsDB = StDB.executeQuery(sql);

            }
            catch(SQLException sqlex)
            {
              JOptionPane.showMessageDialog(null, "Comando não executado");
            }
        }
}

Olá Luiz

Procure colocar o seu código na tag CODE como o exemplo abaixo:

public void desconecta()
{
Connection cnn = null;
boolean result = true;
try
{
cnn.close();
JOptionPane.showMessageDialog(null, "banco fechado");

} 

Assim será mais fácil de entender seu código
No método desconectar você cria o Objeto cnn como null logo quando você tentar chamar um método dele você toma o nullPointer ve se isso resolve.
No método executeSql você repete o mesmo erro.

StDB = cnn.createStatement();
RsDB = StDB.executeQuery(sql); 

Olá amigo, boa tarde!!

Obrigado pelo retorno… e pela dica do CODE

Então no caso o Objeto Connection cnn não pode ser null?? é isso?

Isso, você tem que instanciar o Objeto.
Algo assim

Connection cnn = DriverManager.getConnection("jdbc:sqlserver://localhost:1434;databaseName=videoaulajava","sa","v4n3224"); 

ou no sue caso você pode tentar chamar o método connecta

public void executeSQL (String sql)
{
      try
     {
        connecta() ;
        StDB = cnn.createStatement();
        RsDB = StDB.executeQuery(sql);

      }
      catch(SQLException sqlex)
      { 
          JOptionPane.showMessageDialog(null, "Comando não executado");
      }
      catch(Exception e)
      { 
          e.getMessage();
      }
}

Pois dentro desse método voc~e já está fazendo isso.
Acho que só faltou chamar ele.

Cara, fiz a alteração mas mesmo assim não funcionou…

package videoaula;



import javax.swing.*;
import java.sql.*;


public class conecta
{
public static ResultSet RsDB; // ResultSet
public static Statement StDB; //Statement
public static Connection cnn;


            public void connecta()
            {
		try{
			Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");

			Connection conn = DriverManager.getConnection("jdbc:sqlserver://localhost:1434;databaseName=videoaulajava","sa","v4n3224");

                        JOptionPane.showMessageDialog(null, "CONEXÃO BEM SUCEDIDA");
		}
		catch(Exception e)
		{
			System.out.println(e);
			}
            }

            public void desconecta()
            {
                boolean result = true;

                try
                {
                    cnn.close();
                    JOptionPane.showMessageDialog(null, "banco fechado");

                 }
                catch(SQLException erroSQL)
                {
               JOptionPane.showMessageDialog(null, "Não Foi possivel "+
                       "fechar o banco de dados: "+ erroSQL.getMessage());
               result = false;
                }
            }

            public void executeSQL (String sql)

            {
                try
                {
                    connecta();
                    StDB = cnn.createStatement();
                    RsDB = StDB.executeQuery(sql);

                }
                catch(SQLException sqlex)
                {
                  JOptionPane.showMessageDialog(null, "Comando não executado");
                }
                catch(Exception e)
                {
                  e.getMessage();
                }
            }
    }

Tenta isso.Muda a classe connecta.

public void connecta() {
		try {
			Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");

			cnn = DriverManager
					.getConnection(
							"jdbc:sqlserver://localhost:1434;databaseName=videoaulajava",
							"sa", "v4n3224");

			JOptionPane.showMessageDialog(null, "CONEXÃO BEM SUCEDIDA");
		} catch (Exception e) {
			System.out.println(e);
		}
	}

Entra em modo debug nesse método.
Se contiunar dando erro, ve em que ponto esta dando erro.

[quote=mrb0305]Tenta isso.Muda o método connecta.

public void connecta() {
		try {
			Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");

			cnn = DriverManager
					.getConnection(
							"jdbc:sqlserver://localhost:1434;databaseName=videoaulajava",
							"sa", "v4n3224");

			JOptionPane.showMessageDialog(null, "CONEXÃO BEM SUCEDIDA");
		} catch (Exception e) {
			System.out.println(e);
		}
	}

Entra em modo debug nesse método.
Se contiunar dando erro, ve em que ponto esta dando erro.[/quote]

Deu esse erro pra Depurar…

Have no FileObject for C:\Program Files\Java\jdk1.6.0_20\jre\lib\sunrsasign.jar
Have no FileObject for C:\Program Files\Java\jdk1.6.0_20\jre\classes

Vê se essa resposta ness fórum te ajuda

https://forums.oracle.com/forums/thread.jspa?messageID=9912068