Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Leob

Cadastro de usuarios no VE

Recommended Posts

estou tentando fazer um formulario onde ao clicar no botao cadastrar as informações sao enviadas para o bd será que alguem podia me ajudar... eu sei que deve estar bem errado mas eh que sem ser pelo VE eu consigo fazer mais ou menos dessa forma e como nao entendo muito ainda tentei fazer dessa forma

 

 

 

 

 

codigo do botão inserir:

private JButton getBtncadastrar() {
		if (btncadastrar == null) {
			btncadastrar = new JButton();
			btncadastrar.setBounds(new Rectangle(291, 224, 110, 33));
			btncadastrar.setText("Cadastrar");
			btncadastrar.addActionListener(new java.awt.event.ActionListener() {
				public void actionPerformed(java.awt.event.ActionEvent e) {
					 
					Connection conexao=null;
					   
					   String codigo=txtcodigo.getText();
					   String nome=txtnome.getText();
					   String email=txtemail.getText();
					   String url = "jdbc:oracle:thin:@localhost:1521:XE";
					   String usuario= "Leonardo";
					   String senha = "trunks";



				     	 try {

				           OracleDataSource ds = new OracleDataSource();
				           ds.setURL(url);
				           conexao = ds.getConnection(usuario,senha);
				           Statement stmt = conexao.createStatement();

				ResultSet rs = stmt.executeQuery("Insert into Cliente values('"+codigo+"','"+nome+"','"+email+"')"); 
				     	 }
				           
				 catch(SQLException a) {

				          System.out.println("Ocorreu um erro");

				         
				        }
				
				}	
				});
		}
		return btncadastrar;
	}

Erros:

 

IWAV0052E Invocation Target Exception creating inserir.inserir

java.lang.reflect.InvocationTargetException

at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)

at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39)

at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27)

at java.lang.reflect.Constructor.newInstance(Constructor.java:494)

at org.eclipse.ve.internal.java.vce.launcher.remotevm.JFCLauncher$1.run(JFCLauncher.java:59)

at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:209)

at java.awt.EventQueue.dispatchEvent(EventQueue.java:461)

at java.awt.EventDispatchThread.pumpOneEventForHierarchy(EventDispatchThread.java:242)

at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:163)

at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:157)

at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:149)

at java.awt.EventDispatchThread.run(EventDispatchThread.java:110)

Caused by: java.lang.UnsupportedClassVersionError: Bad version number in .class file

at java.lang.ClassLoader.defineClass1(Native Method)

at java.lang.ClassLoader.defineClass(ClassLoader.java:620)

at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:124)

at java.net.URLClassLoader.defineClass(URLClassLoader.java:260)

at java.net.URLClassLoader.access$100(URLClassLoader.java:56)

at java.net.URLClassLoader$1.run(URLClassLoader.java:195)

at java.security.AccessController.doPrivileged(Native Method)

at java.net.URLClassLoader.findClass(URLClassLoader.java:188)

at java.lang.ClassLoader.loadClass(ClassLoader.java:306)

at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:268)

at java.lang.ClassLoader.loadClass(ClassLoader.java:251)

at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:319)

at inserir.inserir.getBtncadastrar(inserir.java:101)

at inserir.inserir.getJContentPane(inserir.java:61)

at inserir.inserir.initialize(inserir.java:37)

at inserir.inserir.<init>(inserir.java:31)

... 12 more

Compartilhar este post


Link para o post
Compartilhar em outros sites

O método executeQuery é utilizado para comandos que retornam um conjunto de dados (select por exemplo). Para comandos de inserção utiliza-se executeUpdate ou execute.

 

PS: Se não for utilizar um framework objeto relacional utilize PreparedStatement invés de Statement.

Compartilhar este post


Link para o post
Compartilhar em outros sites

eu nao estou conseguindo será que alguém podia me explicar um pouco melhor ?

 

Quando tento usar executeUpdate ou execute ele ainda da erro ... algo mais que eu possa mudar

Compartilhar este post


Link para o post
Compartilhar em outros sites

Pelo código que você postou não sei o que pode estar acontecendo. Quanto à excessão só posso dizer o que ela significa, daí é com você examinar o seu código e descobrir.

 

Imagine que você tenha duas classes com o mesmo nome, porém em pacotes diferentes. Por exemplo: pacote cliente e classe DAO; pacote fornecedor e classe DAO. Agora imagine que voce tenha uma interface gráfica onde é necessário instanciar o objeto cliente.DAO e fornecedor.DAO. Você adiciona os imports para as duas classes e instancia cada objeto Ex.: DAO clienteDAO = new DAO();. No momento que você executar o programa o compilador não saberá qual classe realmente você está instanciando. Se é cliente.DAO ou fornecedor.DAO. E é nesse momento que a excessão é disparada.

 

"IWAV0052E Invocation Target Exception creating inserir.inserir" Essa é a sua pista.

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.