Boas. Eu estava a fazer um projeto em MySql e correu tudo bem mas agora tou a fazer praticamente o mesmo projeto em SQLite e o mesmo bocado de codigo nao da no SQlite mas da no MySql. Será que é um erro meu ou estas duas BDs interpretam codigo de maneira diferente, ou seja, tenho que por vezes fazer diferente um do outro??
Você precisa fazer algumas coisas diferentes sim. Os dialetos do SQL que cada um fala são diferentes, até porque os recursos de cada um são diferentes.
Pode ver se me consegue ajudar sff:
[code]java.util.Date dataIni = jDateChooser1.getDate();
java.util.Date dataFim = jDateChooser2.getDate();
try{
String sql = “SELECT * FROM saidamat WHERE data_saida between ? AND ?”;
pst = con.prepareStatement(sql);
pst.setDate(1, new java.sql.Date(dataIni.getTime()));
pst.setDate(2, new java.sql.Date(dataFim.getTime()));
pst.execute();
ResultSet rs = pst.getResultSet();
jTable1.setModel(DbUtils.resultSetToTableModel(rs));
}catch(Exception e){
JOptionPane.showMessageDialog(null, e);
}[/code]
Este é o que dá em MySql. É quando quero pesquisar as saidas de materias ele ve-me pelas datas. A unica diferenca que me lembro é que no MySQL a data esta em formato DATE e no SQLITE esta em DATETIME
Bom, aí o problema é que os tipos das colunas são diferentes, não que a sintaxe seja diferente.
Para trabalhar com um DateTime você precisa de um java.sql.TimeStamp, não de um java.sql.Date 
Já experimentei a mudar para o Timestamp e da erro. Sera que me pode ajudar sff??