2012-11-06 4 views
-1

J'essaie d'insérer un champ datetime dans la base de données Sqlite dans un projet Andoird. J'ai essayé de nombreuses façons like this mais pas de chance d'insérer le champ datetime. Voici les faitsAndroid: insertion de datetime dans la base de données Sqlite

1] Mon champ SQLite est de type timestamp

2] classe de base de données

package com.gcm.pushandroid; 
import java.util.Date; 

public class Notifications { 

    //private variables 
     String _type; 
     String _time_stamp; 


     // Empty constructor 
     public Notifications(){ 

     } 
     // constructor 
     public Notifications(String type, String timeStamp){ 
      this._type = type; 
      this._time_stamp = timeStamp; 
     } 


     // getting ID 
     public String getType(){ 
      return this._type; 
     } 

     // setting id 
     public void setType(String type){ 
     this._type = type; 
     } 

    // getting timestamp 
    public String getTimeStamp(){ 
     return this._time_stamp; 
    } 

    // setting 
    public void setTimeStamp(String time_stamp){ 
      this._time_stamp = time_stamp; 
    } 

} 

3] Voici le code

SQLiteDatabase db = this.getWritableDatabase(); 
ContentValues values = new ContentValues(); 
values.put(KEY_TYPE, notificationObj.getType()); 
SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); 
Date date = new Date(); 
values.put("time_stamp", dateFormat.format(date)); 
db.insert(TABLE_CONTACTS, null, values); 
db.close(); 

Je ne sais pas ce qui va mal . L'aide est appréciée. Merci

+0

Nous ne savons pas ce qui va mal non plus. Vous avez dit "pas de chance d'insérer" ça ... qu'est-ce que ça veut dire? – Eric

+1

"Pas de chance" ne décrit pas l'inconduite que vous essayez de corriger. Pour ce que ça vaut, SQLite n'a pas de type de colonne date/heure; voir http://www.sqlite.org/datatype3.html. Vous devez décider quel format représente le mieux les dates et heures et effectuez la conversion vous-même. Vous n'avez pas forcément besoin d'écrire du code de conversion, car il existe des fonctions de conversion date/heure dans SQLite, mais vous devez décider si vous souhaitez représenter les informations de date/heure sous forme de chaîne, UNIX ou non. Vous obtiendrez plus d'aide si vous décrivez ce que vous avez vu que vous n'avez pas aimé. – prprcupofcoffee

Répondre

1

Vous devez modifier votre type de champ sqlite en chaîne/texte. Le type « horodatage » ne permet pas: ou - Horodatage ne peut détenir Entiers

Pour plus de détails s'il vous plaît voir point 1.2 http://www.sqlite.org/datatype3.html

Questions connexes