[RESOLVIDO]SELECT no MySQL

10 respostas
alisson027

private void BtnTestActionPerformed(java.awt.event.ActionEvent evt) { try { Class.forName("com.mysql.jdbc.Driver"); } catch (ClassNotFoundException ex) { Logger.getLogger(Aplicativo1View.class.getName()).log(Level.SEVERE, null, ex); } try { Connection conn = (Connection) DriverManager.getConnection("jdbc:mysql://localhost/MySQL?user=root&password=admin"); Statement stm= conn.createStatement(); ResultSet rs = stm.executeQuery("SELECT nome FROM pessoa"); System.out.print(rs); } catch (SQLException ex) { Logger.getLogger(Aplicativo1View.class.getName()).log(Level.SEVERE, null, ex); } }
estou aprendendo a lidar com BD agora e estou com dificuldades
o bd esta criado mas não consigo nem fazer um select simples
esse ai é o codigo
agradeço quem puder ajudar

10 Respostas

Andre_Rosa

Seu tópico está um tanto que vago. Porque você diz que “não consegue”? Está recebendo algum erro? O compilador está emitindo alguma mensagem? O programa está compilando? Detalhe mais este tópico, para que possa receber uma resposta mais visceral.

drsmachado

Eu prefiro criar a Connection da seguinte forma

Connection con = DriverManager.getConnection("String de host:porta/banco", "usuario", "senha");

Outro ponto que me chama atenção é, você está dando println num ResultSet.
Sugiro

stm.executeQuery("QUERY A SER EXECUTADA");
ResultSet rs = st.getResultSet();
while(rs.next()){
 System.out.println(rs.getString("String ou Indice da coluna");
}

Aliás, assim que conseguir isto, leia sobre DAO, DTO e Beans.

jweibe

Removido…

alisson027

o programa compila o erro aparece quando clico no botao para fazer a conexao e select

o erro é esse pequeno aqui

[color=red]

19/05/2011 08:39:04 aplicativo1.Aplicativo1View BtnTestActionPerformed

GRAVE: null

com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ‘’ at line 1

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:513)

at com.mysql.jdbc.Util.handleNewInstance(Util.java:409)

at com.mysql.jdbc.Util.getInstance(Util.java:384)

at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:1054)

at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3566)

at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3498)

at com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:1959)

at com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:2113)

at com.mysql.jdbc.ConnectionImpl.execSQL(ConnectionImpl.java:2562)

at com.mysql.jdbc.ConnectionImpl.execSQL(ConnectionImpl.java:2512)

at com.mysql.jdbc.StatementImpl.executeQuery(StatementImpl.java:1476)

at aplicativo1.Aplicativo1View.BtnTestActionPerformed(Aplicativo1View.java:417)

at aplicativo1.Aplicativo1View.access$1100(Aplicativo1View.java:32)

at aplicativo1.Aplicativo1View$7.actionPerformed(Aplicativo1View.java:169)

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.AbstractButton.doClick(AbstractButton.java:357)

at javax.swing.plaf.basic.BasicRootPaneUI$Actions.actionPerformed(BasicRootPaneUI.java:191)

at javax.swing.SwingUtilities.notifyAction(SwingUtilities.java:1639)

at javax.swing.JComponent.processKeyBinding(JComponent.java:2851)

at javax.swing.KeyboardManager.fireBinding(KeyboardManager.java:267)

at javax.swing.KeyboardManager.fireKeyboardAction(KeyboardManager.java:216)

at javax.swing.JComponent.processKeyBindingsForAllComponents(JComponent.java:2928)

at javax.swing.JComponent.processKeyBindings(JComponent.java:2920)

at javax.swing.JComponent.processKeyEvent(JComponent.java:2814)

at java.awt.Component.processEvent(Component.java:6065)

at java.awt.Container.processEvent(Container.java:2041)

at java.awt.Component.dispatchEventImpl(Component.java:4651)

at java.awt.Container.dispatchEventImpl(Container.java:2099)

at java.awt.Component.dispatchEvent(Component.java:4481)

at java.awt.KeyboardFocusManager.redispatchEvent(KeyboardFocusManager.java:1850)

at java.awt.DefaultKeyboardFocusManager.dispatchKeyEvent(DefaultKeyboardFocusManager.java:712)

at java.awt.DefaultKeyboardFocusManager.preDispatchKeyEvent(DefaultKeyboardFocusManager.java:990)

at java.awt.DefaultKeyboardFocusManager.typeAheadAssertions(DefaultKeyboardFocusManager.java:855)

at java.awt.DefaultKeyboardFocusManager.dispatchEvent(DefaultKeyboardFocusManager.java:676)

at java.awt.Component.dispatchEventImpl(Component.java:4523)

at java.awt.Container.dispatchEventImpl(Container.java:2099)

at java.awt.Window.dispatchEventImpl(Window.java:2478)

at java.awt.Component.dispatchEvent(Component.java:4481)

at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:643)

at java.awt.EventQueue.access$000(EventQueue.java:84)

at java.awt.EventQueue$1.run(EventQueue.java:602)

at java.awt.EventQueue$1.run(EventQueue.java:600)

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

at java.security.AccessControlContext$1.doIntersectionPrivilege(AccessControlContext.java:87)

at java.security.AccessControlContext$1.doIntersectionPrivilege(AccessControlContext.java:98)

at java.awt.EventQueue$2.run(EventQueue.java:616)

at java.awt.EventQueue$2.run(EventQueue.java:614)

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

at java.security.AccessControlContext$1.doIntersectionPrivilege(AccessControlContext.java:87)

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

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)[/color]
drsmachado

O que importa no erro não é tão grande

com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '' at line 1

Existe uma erro na sintaxe do SQL

alisson027

mas o que pode estar errado em um simples

SELECT nome FROM pessoa?

drsmachado

É esta a acusação do erro, camarada.
Tenta isso

try {  
		Class.forName("com.mysql.jdbc.Driver");  
           Connection conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/pessoa", "root","admin");  
		   PreparedStatement stm = conn.prepareStatement("SELECT nome FROM pessoa");
		   stm.execute();
           ResultSet rs = stm.getResultSet();  
		   while(rs.next()){
			System.out.print(rs.getString("nome");  
		   }
       } catch (ClassNotFoundException ex) {  
           Logger.getLogger(Aplicativo1View.class.getName()).log(Level.SEVERE, null, ex);  
       } catch (SQLException ex) {  
           Logger.getLogger(Aplicativo1View.class.getName()).log(Level.SEVERE, null, ex);  
       }
alisson027

estava dando erro no

System.out.print(rs.getString("nome");
mas o print era só para teste, joguei o resultado onde tinha que aparecer na interface e deu certo :lol:

e sobre a dica

Aliás, assim que conseguir isto, leia sobre DAO, DTO e Beans.

tenho 3 semanas e meia para terminar meu tcc
da pra entender o conceito a curto prazo para aplicar no meu projeto ou vai levar muito tempo?

e obrigado por td ajudo muito

drsmachado

Tava dando erro por que eu não coloquei o último “)”.

Conceito sim, colocá-lo em prática é outra história.
Bem, dependendo do tamanho do teu TCC, acho que nem assim consegue terminar…

alisson027

entao vou deixar pra estudar isso assim que terminar ele
vo dar continuidade a ele
"imagino" que eu não devo ter problemas a partir de agora
qualquer coisa volto
vlw ae
flw

Criado 18 de maio de 2011
Ultima resposta 19 de mai. de 2011
Respostas 10
Participantes 4