Cadastro no banco + SWT

2 respostas
R

Ola pessoal, estou desenvolvendo uma pequena aplicação e não estou conseguindo cadastrar no banco.
Estou fazendo assim:

//Ação do botão agendar

btnagendar.addSelectionListener(new org.eclipse.swt.events.SelectionListener() {
			public void widgetSelected(org.eclipse.swt.events.SelectionEvent e) {
				String drive= "net.sourceforge.jtds.jdbc.Driver";
				String url="jdbc:jtds:sqlserver://LOCALHOST/banco_teste";
				String usuario="bob";
				String senha="bob";
				//conexao - Classe que contem os metodos para conectar no banco
				conexao.setConnection(url, usuario, senha, drive);
				//metodo salvar- descrito logo abaixo
                               salvar();
                                // limpar os campos apos cadastrar
				limpar();
			}
			public void widgetDefaultSelected(org.eclipse.swt.events.SelectionEvent e) {
			}
		});

Método Salvar e limpar campos:

private void salvar() {
		try{
			Text[] tf = campos();	
			String SQL = "INSERT INTO reserva " +
			"VALUES (?,?,?,?,?,?) " ;
			PreparedStatement ps=conexao.setInsert(SQL);
			for(int i=0;i<tf.length;i++)
				ps.setString(i+1,tf[i].getText());
			ps.executeUpdate();
			limpar();
			ps.close();		
		}
		catch(SQLException ex){ex.printStackTrace();}

	}	
	private void limpar(){
		Text[] tf = campos();  
		for(int i=0;i<tf.length;i++)
			tf[i].setText("");
	}

A Stack:

Exception in thread "main" java.lang.NullPointerException
	at frames.frm_agenda$2.widgetSelected(frm_agenda.java:111)
	at org.eclipse.swt.widgets.TypedListener.handleEvent(TypedListener.java:228)
	at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:84)
	at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1003)
	at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:3880)
	at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3473)
	at frames.inicio$4$1.widgetSelected(inicio.java:216)
	at org.eclipse.swt.widgets.TypedListener.handleEvent(TypedListener.java:228)
	at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:84)
	at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1003)
	at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:3880)
	at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3473)
	at frames.inicio.main(inicio.java:61)

2 Respostas

eliangela
Leia sua exceção. NullPointerException é quando vc declara um objeto null e tenta depois disto acessar seus métodos. Verifique se vc não tem uma coisa parecida com isto:
String s; //Este objeto é null. Não foi inicializado

public static void main(String[] args) {
    System.out.println(s.toString()); //dá NullPointerException.
}

Até mais

R

Obrigado pela sua resposta. Porém, não consegui achar nada que fosse null. Criei um método imprimir pegando os atributos que eu digitei na tela e todos foram imprimidos conforme o que foi digitado. Não sei o que esta acontecendo. Tem mais alguma sugestão?

A minha tela de cadastro é um Dialog, será que isso pode interferir de alguma maneira?

Criado 3 de dezembro de 2009
Ultima resposta 3 de dez. de 2009
Respostas 2
Participantes 2