juliana_cora 18 de jan. de 2010
Opá....esqueci de postar o método formataData
public static Date formataData ( String data )
{
Date dateF = null ;
if ( data == null || data . equals ( "" ))
{
return null ;
}
try
{
DateFormat formatter = new SimpleDateFormat ( "dd/MM/yyyy" );
dateF = ( java . util . Date ) formatter . parse ( data );
}
catch ( ParseException erro )
{
System . out . println ( "Erro 6" + erro . getLocalizedMessage ());
}
return dateF ;
}
HarryPodre 18 de jan. de 2010
Olá Juliana!
Verifique o pattern da data que você passou no construtor SimpleDateFormat():
DateFormat formatter = new SimpleDateFormat ( "dd/MM/yyyy" );
Compare com o formato da data que você está passando.
juliana_cora 18 de jan. de 2010
O botão relatório chama essa classe..
private void geraTabela ( Contas contas )
{
try
{
Vector<String> cabecalho = new Vector<String>() ;
Vector<Vector> linhas = new Vector<Vector>() ;
//ConexaoGenerica.setResultSet("select * from contas where nro_pessoa = "+contas.getNroPessoa()) ;
ConexaoGenerica.setResultSet("select * from contas where vencimento between to_date(to_char("+contas.getDataInicio()+",'dd/mm/rrrr'),'dd/mm/rrrr') and to_date(to_char("+contas.getDataFinal()+",'dd/mm/rrrr'),'dd/mm/rrrr') order by nro_pessoa") ;
ConexaoGenerica.resultSet.next() ;
ResultSetMetaData rsmd = ConexaoGenerica.resultSet.getMetaData() ;
for(int i = 1 ; i <= rsmd.getColumnCount() ; ++i)
cabecalho.addElement(rsmd.getColumnName(i)) ;
do
{
Vector<Object> linhaAtual = new Vector<Object>() ;
for(int i = 1 ; i <= rsmd.getColumnCount() ; i++)
{
switch(rsmd.getColumnType(i))
{
case Types. VARCHAR :
linhaAtual . addElement ( ConexaoGenerica . resultSet . getString ( i )); break ;
case Types. NUMERIC :
linhaAtual . addElement ( ConexaoGenerica . resultSet . getInt ( i )); break ;
}
}
linhas . addElement ( linhaAtual );
}
while ( ConexaoGenerica . resultSet . next ());
table = new JTable ( linhas , cabecalho );
JScrollPane scroller = new JScrollPane ( table );
getContentPane () . add ( scroller , BorderLayout . CENTER );
ConexaoGenerica . close ();
}
catch ( SQLException erro ) {}
}
juliana_cora 18 de jan. de 2010
Fiz o que me disse, mais continua dando erro…
xjunior 18 de jan. de 2010
vdb:
Nao deveria ocorrer este erro, testei este codigo e funcionou
DateFormat formatter = new SimpleDateFormat("ddMMyyyy");
try {
System.out.println(formatter.parse("01012012"));
} catch (ParseException ex) {
ex.printStackTrace();
}
O código do nosso amigo está correto…
tmbém fiz um e testei:
Date dateF ;
String data = null ;
data = "15122009" ;
DateFormat formatter = new SimpleDateFormat ( "ddMMyyyy" );
dateF = ( java . util . Date ) formatter . parse ( data );
JOptionPane . showMessageDialog ( null , dateF );
xjunior 18 de jan. de 2010
Substitui seu formatadata por este e vê se resolve seu problema:
import java.text.DateFormat ;
import java.text.ParseException ;
import java.text.SimpleDateFormat ;
import java.util.Date ;
import javax.swing.JOptionPane ;
/**
*
* @author xjunior
*/
public class FormataData {
private Date dateF = null ;
private String data ;
FormataData ( String data ) {
this . data = data ;
}
public Date FormataData ()
{
try {
DateFormat formatter = new SimpleDateFormat ( "ddMMyyyy" );
this . dateF = ( java . util . Date ) formatter . parse ( this . data );
return this . dateF ;
}
catch ( ParseException erro )
{
JOptionPane . showMessageDialog ( null , "Erro 6" + erro . getLocalizedMessage ());
return null ;
}
}
}
e inicializa o formatadata desta forma:
FormataData F = new FormataData ( data );
JOptionPane . showMessageDialog ( null , F . FormataData ());
xjunior 18 de jan. de 2010
Vejo que vc é nova em java, não é?
aqui, acessa este tópico e lá tem um exemplo completo que postei para resolver um problema, usando PreparedStatament e JDBC, vale a pena dar uma olhada, ok?
http://www.guj.com.br/posts/list/148642.java#804938
juliana_cora 20 de jan. de 2010
Olá Junior…
Desculpe por demorar pra responder, eu consegui resolver só que tive que fazer uma gambiarra…e sou nova em JAVA sim e valeu pela dica okk…
Abraços…