Problemas com conexão no banco de dados em Java
06/01/2016
0
Não tenho muita experiencia com Java e me deparei com um problema num simples projeto que estou fazendo pra uma amiga.
Ano passado na faculdade fiz um trabalho e estava acompanhando ele, mas por algum motivo (mesmo estando igual) está dando um erro na hora de inserir os dados que eu preencho nos campos textfields. Pelo que vi, é algum problema de conexão, mas não sei como identificar, visto que está tudo certo.
Aqui o código da ação do botão "incluir":
@Override
public void actionPerformed (ActionEvent e){
Conexao conecta = new Conexao();
conecta.conecta();
int retorno = conecta.inserir("insert into Modelo "
+ "(nomeModelo, valor)"
+ "values ('"
+ tfNomeModelo.getText()+"','"
+ tfValor.getText()+ "');");
if (retorno != -1){
JOptionPane.showMessageDialog(null,
"Incluido com Sucesso!", "Informação",JOptionPane.INFORMATION_MESSAGE);
}
conecta.desconecta();
}
});
Aqui o código de conexão, feito junto com meu professor na sala de aula:
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
public class Conexao {
public Connection c;
public boolean conecta(){
boolean isConected=false;
try{
String url = "jdbc:sqlserver://Julio\\SQLEXPRESS:1433;databaseName=Marcador"+
";user=JulioCesar" + ";password=123456;";
Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
this.c = DriverManager.getConnection(url);
isConected=true;
}
catch(ClassNotFoundException | SQLException ex){
System.out.println(ex.getMessage());
isConected=false;
}
return isConected;
}
public boolean desconecta(){
try{
c.close();
return true;
}catch(SQLException ex){
System.out.println(ex.getMessage());
return false;
}
}
public int inserir(String cmd){
Statement st;
int resp =-1;
try{
st = c.createStatement();
resp = st.executeUpdate(cmd);
}catch(SQLException e){
System.out.println(e.getMessage());
}
return resp;
}
public ResultSet consultar(String query) {
Statement st;
ResultSet rs;
try {
st = this.c.createStatement();
rs = st.executeQuery(query);
return rs;
} catch (SQLException e) {
e.printStackTrace();
return null;
}
}
}
E aqui o erro que ocorre quando eu preencho os campos e clico em "Incluir":
at AnaMarcadores.NovoCliente$2.actionPerformed(NovoCliente.java:121)
at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:2022)
at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2346)
at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:402)
at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:259)
at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:252)
at java.awt.Component.processMouseEvent(Component.java:6525)
at javax.swing.JComponent.processMouseEvent(JComponent.java:3324)
at java.awt.Component.processEvent(Component.java:6290)
at java.awt.Container.processEvent(Container.java:2234)
at java.awt.Component.dispatchEventImpl(Component.java:4881)
at java.awt.Container.dispatchEventImpl(Container.java:2292)
at java.awt.Component.dispatchEvent(Component.java:4703)
at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4898)
at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4533)
at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4462)
at java.awt.Container.dispatchEventImpl(Container.java:2278)
at java.awt.Window.dispatchEventImpl(Window.java:2750)
at java.awt.Component.dispatchEvent(Component.java:4703)
at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:751)
at java.awt.EventQueue.access$500(EventQueue.java:97)
at java.awt.EventQueue$3.run(EventQueue.java:702)
at java.awt.EventQueue$3.run(EventQueue.java:696)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:75)
at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:86)
at java.awt.EventQueue$4.run(EventQueue.java:724)
at java.awt.EventQueue$4.run(EventQueue.java:722)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:75)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:721)
at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:201)
at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:116)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:105)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:93)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:82)
Ps: Usei a tag de quote porque a de code fica tudo na mesma linha (??). Se alguém souber como fazer isso agradeceria, visto que não é muio legal ver o código assim.
Desde já, obrigado.
Julio
Posts
06/01/2016
Jothaz
06/01/2016
Julio
06/01/2016
Jothaz
Achar que funciona, ai complica, precisamos de uma certeza! kk
Vamos tentar por outro caminho por exemplo usando o Management Studio você consegue conectar-se ao banco de dados e executar um select em sua tabelas?
06/01/2016
Julio
07/01/2016
Jothaz
O erro (Uncompilable source code) aparentemente é por não conseguir compilar o método.
Post o código usando a tag code, pois na visualização fica em uma linha mas depois de postado fica correto, para facilitar a leitura.
Você usa alguma IDE?
07/01/2016
Julio
btIncluir.addActionListener(new ActionListener(){ @Override public void actionPerformed (ActionEvent e){ Conexao conecta = new Conexao(); conecta.conecta(); int retorno = conecta.inserir("insert into Modelo " + "(nomeModelo, valor)" + "values ('" + tfNomeModelo.getText()+"','" + tfValor.getText()+ "');"); if (retorno != -1){ JOptionPane.showMessageDialog(null, "Incluido com Sucesso!", "Informação",JOptionPane.INFORMATION_MESSAGE); } conecta.desconecta(); } });
Aqui o código de conexão, feito junto com meu professor na sala de aula:
package anamarcadores; import java.sql.Connection; import java.sql.DriverManager; import java.sql.ResultSet; import java.sql.SQLException; import java.sql.Statement; public class Conexao { public Connection c; public boolean conecta(){ boolean isConected=false; try{ String url = "jdbc:sqlserver://Julio\\SQLEXPRESS:1433;databaseName=Marcador"+ ";user=JulioCesar" + ";password=123456;"; Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver"); this.c = DriverManager.getConnection(url); isConected=true; } catch(ClassNotFoundException | SQLException ex){ System.out.println(ex.getMessage()); isConected=false; } return isConected; } public boolean desconecta(){ try{ c.close(); return true; }catch(SQLException ex){ System.out.println(ex.getMessage()); return false; } } public int inserir(String cmd){ Statement st; int resp =-1; try{ st = c.createStatement(); resp = st.executeUpdate(cmd); }catch(SQLException e){ System.out.println(e.getMessage()); } return resp; } public ResultSet consultar(String query) { Statement st; ResultSet rs; try { st = this.c.createStatement(); rs = st.executeQuery(query); return rs; } catch (SQLException e) { e.printStackTrace(); return null; } } }
E aqui o erro que ocorre quando eu preencho os campos e clico em "Incluir":
Exception in thread "AWT-EventQueue-0" java.lang.RuntimeException: Uncompilable source code - Erroneous tree type: AnaMarcadores.Conexao at AnaMarcadores.NovoCliente$2.actionPerformed(NovoCliente.java:121) at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:2022) at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2346) at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:402) at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:259) at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:252) at java.awt.Component.processMouseEvent(Component.java:6525) at javax.swing.JComponent.processMouseEvent(JComponent.java:3324) at java.awt.Component.processEvent(Component.java:6290) at java.awt.Container.processEvent(Container.java:2234) at java.awt.Component.dispatchEventImpl(Component.java:4881) at java.awt.Container.dispatchEventImpl(Container.java:2292) at java.awt.Component.dispatchEvent(Component.java:4703) at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4898) at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4533) at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4462) at java.awt.Container.dispatchEventImpl(Container.java:2278) at java.awt.Window.dispatchEventImpl(Window.java:2750) at java.awt.Component.dispatchEvent(Component.java:4703) at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:751) at java.awt.EventQueue.access$500(EventQueue.java:97) at java.awt.EventQueue$3.run(EventQueue.java:702) at java.awt.EventQueue$3.run(EventQueue.java:696) at java.security.AccessController.doPrivileged(Native Method) at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:75) at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:86) at java.awt.EventQueue$4.run(EventQueue.java:724) at java.awt.EventQueue$4.run(EventQueue.java:722) at java.security.AccessController.doPrivileged(Native Method) at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:75) at java.awt.EventQueue.dispatchEvent(EventQueue.java:721) at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:201) at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:116) at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:105) at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101) at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:93) at java.awt.EventDispatchThread.run(EventDispatchThread.java:82)
Eu uso NetBeans
07/01/2016
Jothaz
07/01/2016
Julio
ebug: Exception in thread "AWT-EventQueue-0" java.lang.RuntimeException: Uncompilable source code - Erroneous tree type: AnaMarcadores.Conexao at AnaMarcadores.NovoCliente$2.actionPerformed(NovoCliente.java:121) at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:2022) at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2346) at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:402) at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:259) at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:252) at java.awt.Component.processMouseEvent(Component.java:6525) at javax.swing.JComponent.processMouseEvent(JComponent.java:3324) at java.awt.Component.processEvent(Component.java:6290) at java.awt.Container.processEvent(Container.java:2234) at java.awt.Component.dispatchEventImpl(Component.java:4881) at java.awt.Container.dispatchEventImpl(Container.java:2292) at java.awt.Component.dispatchEvent(Component.java:4703) at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4898) at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4533) at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4462) at java.awt.Container.dispatchEventImpl(Container.java:2278) at java.awt.Window.dispatchEventImpl(Window.java:2750) at java.awt.Component.dispatchEvent(Component.java:4703) at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:751) at java.awt.EventQueue.access$500(EventQueue.java:97) at java.awt.EventQueue$3.run(EventQueue.java:702) at java.awt.EventQueue$3.run(EventQueue.java:696) at java.security.AccessController.doPrivileged(Native Method) at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:75) at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:86) at java.awt.EventQueue$4.run(EventQueue.java:724) at java.awt.EventQueue$4.run(EventQueue.java:722) at java.security.AccessController.doPrivileged(Native Method) at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:75) at java.awt.EventQueue.dispatchEvent(EventQueue.java:721) at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:201) at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:116) at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:105) at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101) at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:93) at java.awt.EventDispatchThread.run(EventDispatchThread.java:82)
13/01/2016
Ronaldo Filho
Tenta essa url jdbc:sqlserver://localhost\marcador:1433;user=JulioCesar;password=123456
Clique aqui para fazer login e interagir na Comunidade :)