Se você diz que tem erro mas não posta ele, fica bem dificil de descobrir o que é , concorda?
Outro detalhe, não fique concatenando valores, se preocupando com aspas simples/duplas para String e etc, simplesmente use o PreparedStatement, é para isso que ele serve.
Basicamente, seria isso:
String sql = "SELECT codigo,nome FROM dados WHERE codigo = ? OR nome = ?");
PreparedStatement ps = connection.prepareStatement(sql);
ps.setString(1, tf_codigo.getText());
ps.setString(2, tf_nome.getText().toString());
E para finalizar, não se coloca ‘;’ ao fim da Query.
Abraços.
T
t3sting
Valeu pela ajuda, mas não entendi a linha PreparedStatement ps = connection.prepareStatement(sql);
Tenho que substituir o “connection”?
Valeu.
nel
t3sting:
Valeu pela ajuda, mas não entendi a linha PreparedStatement ps = connection.prepareStatement(sql);
Tenho que substituir o “connection”?
Valeu.
Não, é dessa forma que você cria o PreparedStatement para uso posterior.
Por favor, poste o erro no qual comentou quando abriu o tópico e sua classe com o método conectaBanco.executasql.
alexvingg
o connection vai ser seu conectaBanco.
D
daniesouza
nel:
t3sting:
Valeu pela ajuda, mas não entendi a linha PreparedStatement ps = connection.prepareStatement(sql);
Tenho que substituir o “connection”?
Valeu.
Não, é dessa forma que você cria o PreparedStatement para uso posterior.
Por favor, poste o erro no qual comentou quando abriu o tópico e sua classe com o método conectaBanco.executasql.
Prepared Statement previne o usuario mal intencionado de usar SQL INJECTION e vc se dar mal… procure alguns exemplos de prepared Statement… tem muitos aqui no forum…
sobre o problema… só poderemos ajudar se vc postar o erro que esta dando…
T
t3sting
importjava.sql.*;importjavax.swing.*;publicclassconexaoBanco{finalprivateStringdriver="sun.jdbc.odbc.JdbcOdbcDriver";finalprivateStringurl="jdbc:odbc:dados";finalprivateStringusuario="";finalprivateStringsenha="";privateConnectionconexao;publicStatementstatement;publicResultSetresultset;publicbooleanconecta(){booleanresult=true;try{Class.forName(driver);conexao=DriverManager.getConnection(url,usuario,senha);JOptionPane.showMessageDialog(null,"Conectado !!!");}catch(ClassNotFoundExceptioneDriver){JOptionPane.showMessageDialog(null,"O driver especificado está com problema"+eDriver);result=false;}catch(SQLExceptionerrosql){JOptionPane.showMessageDialog(null,"A SQL informada não pode ser executada "+"ocorreu o erro: "+errosql.getMessage());result=false;}returnresult;}publicvoiddesconecta(){booleanresult=true;try{conexao.close();JOptionPane.showMessageDialog(null,"Desconectado !!!");}catch(SQLExceptionerronasql){JOptionPane.showMessageDialog(null,"Ocorreu erro ao fechar o banco "+"erro: "+erronasql.getMessage());result=false;}}publicvoidexecutasql(Stringsql){try{statement=conexao.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_READ_ONLY);resultset=statement.executeQuery(sql);}catch(SQLExceptionerroSQL){JOptionPane.showMessageDialog(null,"Erro na SQL: "+erroSQL.getMessage()+" A SQL passada é "+sql);}}}
importjava.awt.event.ActionEvent;importjavax.swing.*;importjava.awt.*;importjava.awt.event.ActionListener;importjavax.swing.table.DefaultTableModel;importjava.sql.*;publicfinalclasstelaPrincipalextendsJFrame{//Declarando elementos da telaJPanelpainelItens,painelTabela;JLabellbl_codigo;JLabellbl_nome;JTextFieldtf_codigo;JTextFieldtf_nome;JButtonbt_cadastrar;JButtonbt_consultar;JTabletb_dados;JScrollPanepainelRolante;conexaoBancoconectaBanco;PreparedStatementpreparaCodigo;publictelaPrincipal(){iniciaObjetos();//Método para iniciar os elementos utilizados }//Define o título das colunas da tabela de resultadoDefaultTableModelmodelo=newDefaultTableModel(null,newString[]{"Código","Nome"});publicvoidiniciaObjetos(){painelItens=newJPanel();painelTabela=newJPanel();lbl_codigo=newJLabel();lbl_nome=newJLabel();bt_cadastrar=newJButton();bt_consultar=newJButton();tf_codigo=newJTextField(10);tf_nome=newJTextField(25);painelRolante=newJScrollPane();setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);setTitle("Teste de Inserção");setSize(800,600);setLocation(100,100);lbl_codigo.setText("Código");lbl_nome.setText("Nome");bt_cadastrar.setText("Cadastrar");bt_consultar.setText("Consultar");bt_consultar.addActionListener(newActionListener(){@OverridepublicvoidactionPerformed(ActionEvente){bt_consultarActionPerformed(this);}});tf_codigo.setSize(10,20);getContentPane().setLayout(newGridLayout(1,6,10,10));painelItens.add(lbl_codigo);painelItens.add(tf_codigo);painelItens.add(lbl_nome);painelItens.add(tf_nome);painelItens.add(bt_cadastrar);painelItens.add(bt_consultar);tb_dados=newJTable(modelo);modelo.setNumRows(0);tb_dados.setColumnSelectionAllowed(true);tb_dados.getColumnModel().getSelectionModel().setSelectionMode(ListSelectionModel.MULTIPLE_INTERVAL_SELECTION);painelRolante.setViewportView(tb_dados);painelTabela.setLayout(newGridLayout());painelTabela.add(painelRolante);this.setLayout(newBorderLayout());this.add(painelItens,BorderLayout.NORTH);this.add(painelTabela,BorderLayout.CENTER);}privatevoidbt_consultarActionPerformed(ActionListenere){conectaBanco=newconexaoBanco();conectaBanco.conecta();JOptionPane.showMessageDialog(null,"Funciona");preenchetabela();}//Método para pesquisar e preencher a tabelapublicvoidpreenchetabela(){//Define largura de cada coluna/*tb_dados.getColumnModel().getColumn(0).setPreferredWidth(6); tb_dados.getColumnModel().getColumn(1).setPreferredWidth(25);*/try{//Verifica se os campos tem algum dado ou está nuloif((tf_codigo.getText()==null||tf_codigo.getText().equals(""))&&(tf_nome.getText()==null||tf_nome.getText().equals(""))){selecionaTudo();}else{conectaBanco.executasql("SELECT * FROM dados");}modelo.setNumRows(0);//Preenche a tabelawhile(conectaBanco.resultset.next()){/*String[] dados = new String[2]; dados[0] = conectaBanco.resultset.getString("codigo"); dados[1] = conectaBanco.resultset.getString("nome"); modelo.addRow(dados);*/modelo.addRow(newObject[]{conectaBanco.resultset.getString("codigo"),conectaBanco.resultset.getString("nome")});}//Limpar dados dos textfieldstf_codigo.setText("");tf_nome.setText("");}catch(SQLExceptionsqlerro){JOptionPane.showMessageDialog(null,"Nao localizou os dados"+sqlerro);}}privatevoidselecionaTudo(){JOptionPane.showMessageDialog(null,"Função selecionaTudo");conectaBanco.executasql("SELECT * FROM dados;");}publicstaticvoidmain(Stringargs[]){newtelaPrincipal().setVisible(true);}}