Problema em recuperar dado booleano do banco de dados

Olá pessoal, sou iniciante em java e estou tentando criar um programa que filtre os dados que estão armazenados em um banco de dados, o usuário deve informar uma data e entre os registros que estão nessa data, ele deve copiar para uma outra tabela somente que estão marcados como true no campo 8 da tabela e por isso eu preciso que ele recuperare o valor, do tipo booleano, que está armazenado na 8° coluna da tabela. Tentei utilizar o getBoolean(), mas ele tá trazendo valores diferentes dos armazenados. Alguém sabe qual seria a forma mais adequada? Segue abaixo um pedaço do código:

 public void res(String data){

boolean campo8;

try{
            con1.executeSQL("select * from fin0010 where field003 like '"+data+"' order by field003");
            con1.resultset.first();
            campo8 = con1.resultset.getBoolean(8);

              if(campo8){                                
                   .
                   .
                   .   }

 }catch(SQLException erro){}

Tente assim:

select * from tabela where colunaBoolean = booleano and colunaData between '2012-01-01' and '2013-01-01'

Veja se isso funciona amigo…

Abraços

Não funcionou, não encontrou nenhum registro agora, antes encontrava mais do que deveria

Vou demonstrar como eu faria!

public List lista(Date data) throws SQLException {

   List lista = new ArrayList();

   String sql = "SELECT * FROM fin0010 WHERE field003 = ? AND ColunaBool = ?";
   PrepareStatement pstmt = con1.prepareStatement(sql);
   pstmt.setDate(1, data);
   pstmt.setBoolean(2, true);
   ResultSet rs = pstmt.executeQuery();
   
   while(rs.size()) {
      lista.add(preencherLista(rs));
   }
   return lista;
}
private Object preencheLista(ResultSet rs) {
   SeuObjeto obj = new SeuObjeto();
   obj.setNome(rs.getString("nome"));
   ...
   return obj;
}

Bom é bem porai acredito :slight_smile: agora é só estudar o código.

[quote=gsgorla]Olá pessoal, sou iniciante em java e estou tentando criar um programa que filtre os dados que estão armazenados em um banco de dados, o usuário deve informar uma data e entre os registros que estão nessa data, ele deve copiar para uma outra tabela somente que estão marcados como true no campo 8 da tabela e por isso eu preciso que ele recuperare o valor, do tipo booleano, que está armazenado na 8° coluna da tabela. Tentei utilizar o getBoolean(), mas ele tá trazendo valores diferentes dos armazenados. Alguém sabe qual seria a forma mais adequada? Segue abaixo um pedaço do código:

[code]
public void res(String data){

boolean campo8;

try{
con1.executeSQL(“select * from fin0010 where field003 like '”+data+"’ order by field003");
con1.resultset.first();
campo8 = con1.resultset.getBoolean(8);

          if(campo8){                                
               .
               .
               .   }

}catch(SQLException erro){}
[/code][/quote]