Oi. Quero saber como fazer uma pesquisa no meu banco de dados e mostrar com JOptionPane…
é o seguinte, depois q alguém salva seus dados, na aplicação tem um menu onde ela pode pesquisar os dados cadastrados.
JOptionPane.showMessageDialog(null, stm.executeUpdate("select * from contatos"));
esse código nao está certo, é só pra vcs entederem…
Se alguém puder ajudar, ficarei grata.
Bom dia, é o seguinte fiz um exemplo rápido aqui, pegando a segunda coluna da minha tabela que é o nome do livro e fui adicionando a um
StringBuilder (“para não criar um monte de Strings que são objetos imutáveis”) e ae so exibi…testei aqui e apareceu o Joption Pane com os livros.
Se precisar dos outros campos é so manipular conforme sua necessidade.
package conexao;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.Statement;
import javax.swing.JOptionPane;
class Exemplo1 {
public static void main(String args[]) {
// A captura de exceções SQLException em Java é obrigatória para usarmos
// JDBC.
// Para termos acesso ao objeto con, ele deve ter um escopo mais amplo
// que o bloco try
Connection con = null;
try {
// Este é um dos meios para registrar um driver
Class.forName("com.mysql.jdbc.Driver").newInstance();
// Registrado o driver, vamos estabelecer uma conexão
con = DriverManager.getConnection(
"jdbc:mysql://localhost:3306/livraria", "root", "root");
StringBuilder sb = new StringBuilder();
Statement stm = con.createStatement();
ResultSet rs = stm.executeQuery("SELECT * from livro");
while (rs.next()) {
sb.append(rs.getString(2)+"\n");
}
System.out.println(sb);
JOptionPane.showMessageDialog(null, sb);
} catch (Exception e) {
e.printStackTrace();
}
}
}
[code] public void MostraContatos() throws SQLException{
Statement stm = con.createStatement();
ResultSet sr = stm.executeQuery("SELECT nome from contatos");
while (sr.next()){
String Nome = sr.getString("nome");
JOptionPane.showMessageDialog(null,Nome);
}
}[/code]
Bom, eu fiz esse código aí, eu queria que fosse parecido com esse? mas não ta dando certo de jeito nenhum…:S
ME responde uma pergunta:
Quando eu insiro dados no banco, tem q conectar, para ver os dados eu tenho q fazer novamente a conexão? tipo, colocar nesse método?
Somente se você der con.close(), No seu método abaixo você está exibindo somente o ultimo nome…, me diga uma coisa o que tá acontecendo com esse
método? ta dando erro? ta aparecendo o que no JoptionPane?
} catch (SQLException e) {
JOptionPane.showMessageDialog(null, "Erro");
}
} [/code]la no action permomanc do menu o código está desse jeito...nao sei mais o q eu faço.. :S
Muita calma, tudo tem solução, e a linguagem java nos mostra tudo o que precisamos saber no console, pelo menos isso que é o meu chefe me disse no meu primeiro erro em que fui perguntar para ele o que era. Sempre leia o console, la está a informação que você precisa, no começo é difícil, e tudo em inglês, mas ae com o tempo se acostuma, geralmente você pega a exceção e joga no google, e ae ja tem um norte do que ta acontecendo, mas na maioria das vezes o debug resolve, tem que aprender a debugar usando a sua ferramenta, é Netbeans? mas antes de me responder esta pergunta faça o seguinte troque seu catch pelo que eu vou te passar, e copie tudo que sair no console e poste aqui, ok? segue abaixo o código…
Conexão estabelecida
java.lang.NullPointerException
----------causa----------------
----------mensagem-------------
at Interface.jmenuemailActionPerformed(Interface.java:131)
at Interface.access$100(Interface.java:8)
at Interface$2.actionPerformed(Interface.java:62)
at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:2018)
at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2341)
at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:402)
at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:259)
at javax.swing.AbstractButton.doClick(AbstractButton.java:376)
at javax.swing.plaf.basic.BasicMenuItemUI.doClick(BasicMenuItemUI.java:833)
at javax.swing.plaf.basic.BasicMenuItemUI$Handler.mouseReleased(BasicMenuItemUI.java:877)
at java.awt.Component.processMouseEvent(Component.java:6504)
at javax.swing.JComponent.processMouseEvent(JComponent.java:3321)
at java.awt.Component.processEvent(Component.java:6269)
at java.awt.Container.processEvent(Container.java:2229)
at java.awt.Component.dispatchEventImpl(Component.java:4860)
at java.awt.Container.dispatchEventImpl(Container.java:2287)
at java.awt.Component.dispatchEvent(Component.java:4686)
at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4832)
at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4492)
at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4422)
at java.awt.Container.dispatchEventImpl(Container.java:2273)
at java.awt.Window.dispatchEventImpl(Window.java:2713)
at java.awt.Component.dispatchEvent(Component.java:4686)
at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:707)
at java.awt.EventQueue.access$000(EventQueue.java:101)
at java.awt.EventQueue$3.run(EventQueue.java:666)
at java.awt.EventQueue$3.run(EventQueue.java:664)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:76)
at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:87)
at java.awt.EventQueue$4.run(EventQueue.java:680)
at java.awt.EventQueue$4.run(EventQueue.java:678)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:76)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:677)
at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:211)
at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:128)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:117)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:113)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:105)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:90)
java.lang.NullPointerException
at Interface.jmenuemailActionPerformed(Interface.java:131)
at Interface.access$100(Interface.java:8)
at Interface$2.actionPerformed(Interface.java:62)
at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:2018)
at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2341)
----------causa----------------
----------mensagem-------------
at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:402)
at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:259)
at javax.swing.AbstractButton.doClick(AbstractButton.java:376)
at javax.swing.plaf.basic.BasicMenuItemUI.doClick(BasicMenuItemUI.java:833)
at javax.swing.plaf.basic.BasicMenuItemUI$Handler.mouseReleased(BasicMenuItemUI.java:877)
at java.awt.Component.processMouseEvent(Component.java:6504)
at javax.swing.JComponent.processMouseEvent(JComponent.java:3321)
at java.awt.Component.processEvent(Component.java:6269)
at java.awt.Container.processEvent(Container.java:2229)
at java.awt.Component.dispatchEventImpl(Component.java:4860)
at java.awt.Container.dispatchEventImpl(Container.java:2287)
at java.awt.Component.dispatchEvent(Component.java:4686)
at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4832)
at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4492)
at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4422)
at java.awt.Container.dispatchEventImpl(Container.java:2273)
at java.awt.Window.dispatchEventImpl(Window.java:2713)
at java.awt.Component.dispatchEvent(Component.java:4686)
at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:707)
at java.awt.EventQueue.access$000(EventQueue.java:101)
at java.awt.EventQueue$3.run(EventQueue.java:666)
at java.awt.EventQueue$3.run(EventQueue.java:664)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:76)
at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:87)
at java.awt.EventQueue$4.run(EventQueue.java:680)
at java.awt.EventQueue$4.run(EventQueue.java:678)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:76)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:677)
at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:211)
at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:128)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:117)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:113)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:105)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:90)
CONSTRUÍDO COM SUCESSO (tempo total: 40 segundos)
está aí… obrigada por tentar me ajudar.
voce tem que receber a conexao ae… onde está o seu método que devolve a conexão? posto o código do metodo que devolve sua conexão…
e ae a gente ve como fica ok?
[code] public void MostraContatos() throws SQLException, ClassNotFoundException{
Class.forName(“com.mysql.jdbc.Driver”);
try {
con = DriverManager.getConnection(“jdbc:mysql://localhost:3306/contatos.net”, “root”, “debek”);
System.out.println(“Conexão estabelecida”);
}
catch (SQLException ex) {
System.out.println("Conexão não estabelecida");
}
Statement stm = con.createStatement();
ResultSet sr = stm.executeQuery("SELECT nome from contatos");
while (sr.next()){
String Nome = sr.getString("nome");
JOptionPane.showMessageDialog(null,Nome);
}
}[/code]
meu método ficou assim, e aí o erro ficou assim:
java.lang.NullPointerException
----------causa----------------
----------mensagem-------------
at Interface.jmenuemailActionPerformed(Interface.java:131)
at Interface.access$100(Interface.java:8)
at Interface$2.actionPerformed(Interface.java:62)
at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:2018)
at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2341)
at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:402)
at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:259)
at javax.swing.AbstractButton.doClick(AbstractButton.java:376)
java.lang.NullPointerException
at Interface.jmenuemailActionPerformed(Interface.java:131)
at Interface.access$100(Interface.java:8)
at Interface$2.actionPerformed(Interface.java:62)
----------causa----------------
at javax.swing.AbstractButton.fireActionPerformed(----------mensagem-------------
AbstractButton.java:2018)
at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2341)
at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:402)
at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:259)
eita…eita…esses erros…saõ o teu pior desafio no netbeans.
Literalmente troque pelo método não refaça se não eu não vou saber o que está acontencendo… pela sua saida o catch ainda tem o getcause
e os codigos antigos… simplementes copie e cole o método que te mandei…
Poste o codigo inteiro de onde voce substitui…
ultima tentativa qualquer coisa passo o email para voce e voce me manda a aplicação da a gente resolve isso de uma vez por todas.