Olá galera, estou desenvolvendo um sistema que controlará visitas técnicas de uma loja de informatica.
Bom o meu problema é que eu tenhu uma Classe Visitas
e criei nela um atributo Date dia;
esse dia tem os getters e setters normal
tenhu uma classe Dao(VisitasDao) responsavel pela comunicacao com o banco de dados…
no meu banco de dados(MySql) tenhu tb um campo Dia do tipo Date
vamos lah para a duvida agora
estou fazendo meu Prepared Statement normal como sempre fiz
porém na hora do date ele da erro
ele da esse erro aqui
: no suitable method found for setDate(int,java.util.Date)
method java.sql.PreparedStatement.setDate(int,java.sql.Date,java.util.Calendar) is not applicable
(actual and formal argument lists differ in length)
method java.sql.PreparedStatement.setDate(int,java.sql.Date) is not applicable
(actual argument java.util.Date cannot be converted to java.sql.Date by method invocation conversion)
É importante você lembrar que existem duas classes distintas: java.util.Date e java.sql.Date, sendo que a última herda da primeira (sql.Date herda de util.Date).
[quote]no suitable method found for setDate(int,java.util.Date)
…
method java.sql.PreparedStatement.setDate(int,java.sql.Date) is not applicable
(actual argument java.util.Date cannot be converted to java.sql.Date by method invocation conversion) [/quote]
O método setDate espera um objeto java.sql.Date, mas você está passando um java.util.Date.
Pra resolver isso, java.sql.Date tem um construtor que recebe a data em forma de long (milisegundos). Você pode fazer algo do tipo:
java.util.Date dia = visita.getDia();
java.sql.Date diaSql = new java.sql.Date(dia.getTime());
ps.setDate(4, diaSql);
[quote=jilles]Olá galera, estou desenvolvendo um sistema que controlará visitas técnicas de uma loja de informatica.
Bom o meu problema é que eu tenhu uma Classe Visitas
e criei nela um atributo Date dia;
esse dia tem os getters e setters normal
tenhu uma classe Dao(VisitasDao) responsavel pela comunicacao com o banco de dados…
no meu banco de dados(MySql) tenhu tb um campo Dia do tipo Date
vamos lah para a duvida agora
estou fazendo meu Prepared Statement normal como sempre fiz
porém na hora do date ele da erro
ele da esse erro aqui
: no suitable method found for setDate(int,java.util.Date)
method java.sql.PreparedStatement.setDate(int,java.sql.Date,java.util.Calendar) is not applicable
(actual and formal argument lists differ in length)
method java.sql.PreparedStatement.setDate(int,java.sql.Date) is not applicable
(actual argument java.util.Date cannot be converted to java.sql.Date by method invocation conversion)