Simmifelipe1992 22 de set. de 2016
Olá @moisesdcruz , se está retornando false é porque está dando erro.
Coloque um erro.printStackTrace(); no catch e coloque a pilha de erro aqui para mim ver.
moisesdcruz 22 de set. de 2016
java . sql . SQLException : Parameter index out of range ( 2 > number of parameters , which is 1 ).
at com . mysql . jdbc . SQLError . createSQLException ( SQLError . java : 963 )
at com . mysql . jdbc . SQLError . createSQLException ( SQLError . java : 896 )
at com . mysql . jdbc . SQLError . createSQLException ( SQLError . java : 885 )
at com . mysql . jdbc . SQLError . createSQLException ( SQLError . java : 860 )
at com . mysql . jdbc . PreparedStatement . checkBounds ( PreparedStatement . java : 3321 )
at com . mysql . jdbc . PreparedStatement . setInternal ( PreparedStatement . java : 3306 )
at com . mysql . jdbc . PreparedStatement . setString ( PreparedStatement . java : 4021 )
at dao . GruposDAO . buscar ( GruposDAO . java : 58 )
at gui . CadastrarGrupo$3 . buscarGrupo ( CadastrarGrupo . java : 160 )
at gui . CadastrarGrupo$3 . actionPerformed ( CadastrarGrupo . java : 155 )
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 : 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$1 . doIntersectionPrivilege ( ProtectionDomain . java : 75 )
at java . security . ProtectionDomain$1 . 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$1 . doIntersectionPrivilege ( ProtectionDomain . java : 75 )
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 )
Simmifelipe1992 22 de set. de 2016
@moisesdcruz , coloque 1 no lugar de 2 nessa linha statement.setString(2, grupo.getGrupo());
Fica assim, statement.setString(1, grupo.getGrupo());.
Porque vc só tem um parâmetro na query, então não pode ser 2.
moisesdcruz 22 de set. de 2016
fiz conforme me passou, so que agora apresenta este erro:
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 : 62 )
at sun . reflect . DelegatingConstructorAccessorImpl . newInstance ( DelegatingConstructorAccessorImpl . java : 45 )
at java . lang . reflect . Constructor . newInstance ( Constructor . java : 422 )
at com . mysql . jdbc . Util . handleNewInstance ( Util . java : 404 )
at com . mysql . jdbc . Util . getInstance ( Util . java : 387 )
at com . mysql . jdbc . SQLError . createSQLException ( SQLError . java : 942 )
at com . mysql . jdbc . MysqlIO . checkErrorPacket ( MysqlIO . java : 3966 )
at com . mysql . jdbc . MysqlIO . checkErrorPacket ( MysqlIO . java : 3902 )
at com . mysql . jdbc . MysqlIO . sendCommand ( MysqlIO . java : 2526 )
at com . mysql . jdbc . MysqlIO . sqlQueryDirect ( MysqlIO . java : 2673 )
at com . mysql . jdbc . ConnectionImpl . execSQL ( ConnectionImpl . java : 2545 )
at com . mysql . jdbc . ConnectionImpl . execSQL ( ConnectionImpl . java : 2503 )
at com . mysql . jdbc . StatementImpl . executeQuery ( StatementImpl . java : 1369 )
at dao . GruposDAO . buscar ( GruposDAO . java : 59 )
at gui . CadastrarGrupo $ 3 . buscarGrupo ( CadastrarGrupo . java : 160 )
at gui . CadastrarGrupo $ 3 . actionPerformed ( CadastrarGrupo . java : 155 )
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 : 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 $ 1 . doIntersectionPrivilege ( ProtectionDomain . java : 75 )
at java . security . ProtectionDomain $ 1 . 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 $ 1 . doIntersectionPrivilege ( ProtectionDomain . java : 75 )
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 )
Simmifelipe1992 22 de set. de 2016
É um erro na sintaxe do SQL, verifique novamente a sua query.
Ela deve ficar assim
moisesdcruz 22 de set. de 2016
Deu certo em parte agora, pois ele esta retornando o codigo do grupo tfGrupo e era para retorna o codigo e o grupo na tbTabela.
Simmifelipe1992 22 de set. de 2016
Coloque assim,
public boolean buscar() {
sql = "select * from tb_grupos where grupo = ?";
try{
statement = bd.connection.prepareStatement(sql);
statement.setString(2, grupo.getGrupo());
resultSet = statement.executeQuery(sql);
if(resultSet.next()){
grupo.setCodigo(resultSet.getString("nomeDaColunaCodigo"));
grupo.setGrupo(resultSet.getString("nomeDaColunaGrupo"));
return true;
}
}
Substitui nomeDaColunaCodigo e nomeDaColunaGrupo pelos seus nomes de colunas.
catch(SQLException erro){
return false;
}
}
moisesdcruz 23 de set. de 2016
perdao nao soube me expressar, na verdade quero jogar a consultar numa JTable onde vai aparecer o codigo do grupo e o grupo.
Simmifelipe1992 23 de set. de 2016
@moisesdcruz
Para implementar uma JTable e popular ela utilize esse tutorial. é bem simples e vai lhe ajudar a utilizar JTable do modo certo.
moisesdcruz 3 de out. de 2016
Como sou novato em Java fiz um teste mudando a implementacao de uma JTable para uma JTextArea para ela receber o retorno da consulta mas ele esta me retornando a seguinte consulta:
dao.GruposDAO@137db45
segue o codigo abaixo.
evento do botao buscar
btBuscar . addActionListener ( new ActionListener () {
@Override
public void actionPerformed ( ActionEvent ae ) {
buscarGrupo ();
}
private void buscarGrupo () {
grupos . grupo . setGrupo ( tfGrupo . getText ());
if ( grupos . buscar ()){
tfGrupo . setText ( grupos . grupo . getGrupo ());
taTexto . append ( grupos . toString ());
limparCampos ();
}
else {
JOptionPane . showMessageDialog ( null , "Grupo nao encontrado!" );
limparCampos ();
}
}
});
}
Codigo da classe GruposDAO onde faz a consulta no banco
public boolean buscar () {
sql = "select * from tb_grupos where grupo = ?" ;
try {
statement = bd . connection . prepareStatement ( sql );
statement . setString ( 1 , grupo . getGrupo ());
resultSet = statement . executeQuery ();
resultSet . first ();
grupo . setCodigo ( resultSet . getString ( 1 ));
grupo . setGrupo ( resultSet . getString ( 2 ));
return true ;
}
catch ( SQLException erro ){
erro . printStackTrace ();
return false ;
}
}
Simmifelipe1992 3 de out. de 2016
O toString() está imprimindo somente a referencia para o objeto.
Você tem que especificar os campos que quer imprmir ou implementar o toString() na classe.
moisesdcruz 3 de out. de 2016
seria implemetar o toString na classe Grupos desta forma
public String toString () {
return " Codigo : “ + this . codigo + ” Grupo : " + this . grupo ;
}
Simmifelipe1992 3 de out. de 2016
moisesdcruz 3 de out. de 2016
Coloquei o impleto do toString na classe Grupos mais retorna isto:
dao.GruposDAO@1bf4206
Segue o codigo da classe Grupos como fico com o implemento do toString.
public class Grupos {
private String codigo, grupo;
public String getCodigo () {
return codigo ;
}
public String getGrupo () {
return grupo ;
}
public void setCodigo ( String codigo ) {
this .codigo = codigo ;
}
public void setGrupo ( String grupo ) {
this .grupo = grupo ;
}
<a class= "mention" href= "/u/override" > @Override</a>
public String toString(){
return "Codigo: “+this.codigo+” Grupo: "+this.grupo;
}
}
moisesdcruz 4 de out. de 2016
corrigindo coloquei o implemento do toString
Simmifelipe1992 5 de out. de 2016
Esse objeto é uma lista de grupos ?
Se sim, você tem que fazer um FOR e dai imprimir os objetos um à um com .toString();
moisesdcruz 10 de out. de 2016
nao, e so para buscar um grupo desejado.
moisesdcruz 10 de out. de 2016
consegui meu amigo…muito obrigado
Simmifelipe1992 11 de out. de 2016
Ok, espero ter ajudado.
Não esqueça de colocar resolvido no tópico.
Abraço.