Sqlite erro

4 respostas
M

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??

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 :frowning:

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