Sql na variavel em java Desktop

7 respostas Resolvido
A

como eu coloco um cod sql numa variavel para depois setar num campo de texto?

tenho…
conectaEmedico.executaSQL("SELECT COUNT (*) FROM exame_medico where aluno= '" + aluno + "'");

oque quero…
String variavel = conectaEmedico.executaSQL("SELECT COUNT (*) FROM exame_medico where aluno= '" + aluno + "'");

mas dar erro…identar texto pre-formatado em 4 espaços

7 Respostas

J

Primeiramente oq esse executeSQL retorna? pq pela forma q vc ta fazendo:

esse executaSQL tem q ta retornando uma String

A

sim ele retorna a quantidade de registros no que tem o mesmo nome de aluno ja fiz direto no sgbd e deu certo mas tenho que passar esse sql numa variavel para setar uem um campo de texto

o executaSql é um metodo que fiz na classe de conexao com banco para fazer pesquisa ex:

conexao conecta = new conexao();
conecta.executaSql(“SELECT * FROM aluno”);

sendo o cod sql retorna sei la se tiver tres registros com nome maria ele retorna = “3”

deu para entender JeanJavaMan???

A
Solucao aceita

O mais correto seria você utilizar um PreparedStatment, colocando ‘?’ no aluno e setando aquele valor.
Isso pode te ajudar (se eu entendi a sua dúvida):
http://docs.oracle.com/javase/tutorial/jdbc/basics/prepared.html

R

Acredito que a idéia seja o que o augusto340 sugeriu.

Primeiramente você passará a consulta para uma PreparedStatement:

PreparedStatement stmt = conexao.prepareStatement(“SELECT COUNT (*) FROM exame_medico WHERE aluno = ?”);

stmt.setString(1, aluno);

ResultSet result = stmt.executeQuery();

String quantidade = result.getString();

Algo assim:

public void teste(){ try{ int resultado = 0; Connection conexao = new ConnectionFactory().getConnection(); PreparedStatement stmt = conexao.prepareStatement("SELECT COUNT(*) FROM contatos WHERE nome = ?"); stmt.setString(1, "Raphael Telatim"); ResultSet rs = stmt.executeQuery(); while(rs.next()){ resultado = rs.getInt(1); System.out.println(resultado); } }catch(Exception e){ System.out.println(e); } }

Você pode trocar o retorno, dependendo de sua necessidade.

Porém testei aqui e o código compilou me trazendo o resultado do count corretamente.

A

deu tudo certo pessoal mto obg galera voces são dmais
outra duvida pessoal voces poderiam me ajudar com a chamada de um relatorio criado no JasperSoftStudio
mas não consigo abrir o relatorio pessoa segue meu codigo

try {

        conecta.executaSQL("select * from turmas");

        JRResultSetDataSource relatorio = new JRResultSetDataSource(conecta.resul);

        JasperPrint print = JasperFillManager.fillReport("/home/alan/Projetos JAVA/sistemaSISGAE/src/Relatorios/Relatorioturmas.jasper", new HashMap(),relatorio);
    
        JasperViewer jv = new JasperViewer(print, false);

        jv.setVisible(true);

        jv.toFront();

    } catch (JRException ex) {

        JOptionPane.showMessageDialog(rootPane, "Erro ao chamar relatorio de turmas\n" + ex);

    }

não sei porque não deu glr…

lebrando que o resul é a chamada do meu resultset e conecta minha conexao

A

Posta o erro que acontece…

A

o erro : so lembrando que o erro não cai no ex: e sim na saida no netBeans

Exception in thread "AWT-EventQueue-0" net.sf.jasperreports.engine.util.JRFontNotFoundException: Font 'Times New Roman' is not available to the JVM. See the Javadoc for more details. at net.sf.jasperreports.engine.fonts.FontUtil.checkAwtFont(FontUtil.java:347) at net.sf.jasperreports.engine.fonts.FontUtil.checkAwtFont(FontUtil.java:347) at net.sf.jasperreports.engine.fonts.FontUtil.checkAwtFont(FontUtil.java:347) at net.sf.jasperreports.engine.fill.SimpleTextLineWrapper.loadFont(SimpleTextLineWrapper.java:369) at net.sf.jasperreports.engine.fill.SimpleTextLineWrapper.getGeneralFontInfo(SimpleTextLineWrapper.java:339) at net.sf.jasperreports.engine.fill.SimpleTextLineWrapper.createFontInfo(SimpleTextLineWrapper.java:279) at net.sf.jasperreports.engine.fill.SimpleTextLineWrapper.start(SimpleTextLineWrapper.java:241) at net.sf.jasperreports.engine.fill.TextMeasurer.measure(TextMeasurer.java:411) at net.sf.jasperreports.engine.fill.JRFillTextElement.chopTextElement(JRFillTextElement.java:623) at net.sf.jasperreports.engine.fill.JRFillStaticText.prepare(JRFillStaticText.java:187) at net.sf.jasperreports.engine.fill.JRFillElementContainer.prepareElements(JRFillElementContainer.java:331) at net.sf.jasperreports.engine.fill.JRFillFrame.prepare(JRFillFrame.java:217) at net.sf.jasperreports.engine.fill.JRFillElementContainer.prepareElements(JRFillElementContainer.java:331) at net.sf.jasperreports.engine.fill.JRFillBand.fill(JRFillBand.java:384) at net.sf.jasperreports.engine.fill.JRFillBand.fill(JRFillBand.java:358) at net.sf.jasperreports.engine.fill.JRVerticalFiller.fillTitle(JRVerticalFiller.java:346) at net.sf.jasperreports.engine.fill.JRVerticalFiller.fillReportStart(JRVerticalFiller.java:280) at net.sf.jasperreports.engine.fill.JRVerticalFiller.fillReport(JRVerticalFiller.java:151) at net.sf.jasperreports.engine.fill.JRBaseFiller.fill(JRBaseFiller.java:939) at net.sf.jasperreports.engine.fill.JRBaseFiller.fill(JRBaseFiller.java:871) at net.sf.jasperreports.engine.fill.JRFiller.fill(JRFiller.java:114) at net.sf.jasperreports.engine.JasperFillManager.fill(JasperFillManager.java:653) at net.sf.jasperreports.engine.JasperFillManager.fill(JasperFillManager.java:569) at net.sf.jasperreports.engine.JasperFillManager.fillReport(JasperFillManager.java:915) at Formularios.TelaPrincipal.jMenuItem31ActionPerformed(TelaPrincipal.java:917) at Formularios.TelaPrincipal.access$2100(TelaPrincipal.java:29) at Formularios.TelaPrincipal$22.actionPerformed(TelaPrincipal.java:421) at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:2022) at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2348) 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:6535) at javax.swing.JComponent.processMouseEvent(JComponent.java:3324) at java.awt.Component.processEvent(Component.java:6300) at java.awt.Container.processEvent(Container.java:2236) at java.awt.Component.dispatchEventImpl(Component.java:4891) at java.awt.Container.dispatchEventImpl(Container.java:2294) at java.awt.Component.dispatchEvent(Component.java:4713) at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4888) at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4525) at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4466) at java.awt.Container.dispatchEventImpl(Container.java:2280) at java.awt.Window.dispatchEventImpl(Window.java:2750) at java.awt.Component.dispatchEvent(Component.java:4713) at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:758) at java.awt.EventQueue.access$500(EventQueue.java:97) at java.awt.EventQueue$3.run(EventQueue.java:709) at java.awt.EventQueue$3.run(EventQueue.java:703) at java.security.AccessController.doPrivileged(Native Method) at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:76) at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:86) at java.awt.EventQueue$4.run(EventQueue.java:731) at java.awt.EventQueue$4.run(EventQueue.java:729) at java.security.AccessController.doPrivileged(Native Method) at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:76) at java.awt.EventQueue.dispatchEvent(EventQueue.java:728) 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)

Criado 10 de janeiro de 2016
Ultima resposta 12 de jan. de 2016
Respostas 7
Participantes 4