2013-02-09 75 views
0

我正在使用editText输入类型是日期,我希望该用户将日期格式输入日期,并将其存储在sqlite表中的日期时间字段。这可能吗?由于editText日期格式为dd/mm/yyyy,在sqlite中为yyyy/mm/dd。如何保存日期时间字段值在sqlite表中的日期时间字段

我设计了一个表单,其中有一个用户将输入日期的编辑文本,我想将这个日期存储在其字段类型为datetime的sqlite中。怎么做?我是android新手,如果有人知道解决方案,请给我答案。

+0

http://stackoverflow.com/questions/8194282/converting-android-date-time-into-mysql-datetime?rq=1 – Sean 2013-02-09 11:32:25

+0

将datetime保存为varchar – Senthil 2013-02-09 11:45:05

回答

1

我已经解决了我的问题:最新的

  1. 我已经采取了数据类型是sqlite3的日期时间。
  2. 我已经使用textview,datepicker和date_picker_demo.xml中保存在布局中的按钮。

  3. DatePicker.java

    protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
         db = new DatabaseHelper(this); 
         date_textview = (TextView) findViewById(R.id.tv_date); 
         picker_date = (DatePicker) findViewById(R.id.datepicker1); 
         button_create = (Button) findViewById(R.id.button_create); 
    } 
    
    @Override 
    public void onClick(View arg0) { 
        date = new Date(picker_date.getYear()-1900, picker_date.getMonth(), picker_date.getDayOfMonth()); 
         sdf = new SimpleDateFormat("yyyy-MM-dd"); 
    
         //sdf.format()->converting date to string 
    String sdate = sdf.format(date); 
    
         //inserting date into database 
         try { 
        db.createDataBase(); 
    } catch (IOException e) { 
        e.printStackTrace(); 
    } 
    db.openDataBase(); 
    Cursor cur = db.select(); 
    
    for(cur.moveToFirst(); !cur.isAfterLast(); cur.moveToNext()){ 
        if(cur.isLast()){ 
         s_id = Integer.parseInt(cur.getString(0)); 
         s_id = s_id + 1; 
        } 
    } 
         db.insertDate(s_id,sdate); 
        } 
    
  4. DatabaseHelper.java

    public Cursor select(){ 
    String qry = "Select subscription_id from Subscription_Master"; 
    cur = sqdb.rawQuery(qry,null); 
    return cur; 
    } 
    
    public void insertDate(int s_id,String s_date){ 
    
    String query = "insert into Subscription_TAB(subscription_id,start_date) values("+s_id+",date('"+s_date+"'))"; 
    sqdb.execSQL(query); 
    Log.d("value","inserted"); 
    } 
    

日期插入数据库成功。

相关问题