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??
Sqlite erro
M
4 Respostas
E
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.
M
Pode ver se me consegue ajudar sff:
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);
}
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
E
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 
M
Já experimentei a mudar para o Timestamp e da erro. Sera que me pode ajudar sff??
Criado 9 de maio de 2013
Ultima resposta 9 de mai. de 2013
Respostas 4
Participantes 2