当前位置:首页 > 数据库 > SQlite

sqlite:如何在android应用程序的sqlite数据库中插入时间

我有两个edittext,当我点击它时会弹出timepickerdialog,时间将在edittext中为我的代码设置,

  int TIME_PICKER_ID = 1,hour,minute,flag;

  edittext_starttime.setOnClickListener(this);
  edittext_endtime.setOnClickListener(this);

    final Calendar c = Calendar.getInstance();
    hour = c.get(Calendar.HOUR_OF_DAY);
    minute = c.get(Calendar.MINUTE);

  @Override
   public void onClick(View v) {
     if(v.getId() == R.id.editText_starttime_stsa){
        flag = 1;
        showDialog(TIME_PICKER_ID);
    }//editText_starttime_stsa

    if(v.getId() == R.id.editText_endtime_stsa){
        flag = 2;
        showDialog(TIME_PICKER_ID);
    }//editText_endtime_stsa

    if(v.getId() == R.id.button_create_stsa){
        onCreateAlert();
    }//button_create_susa       
}

   @Override
protected Dialog onCreateDialog(int id) {
    switch(id){
    case 1: 
return new TimePickerDialog(this, timePickerListener, hour, minute, false);
    }
    return null;
}

private TimePickerDialog.OnTimeSetListener timePickerListener = new     TimePickerDialog.OnTimeSetListener(){
    public void onTimeSet(TimePicker view,int selectedHour,int selectedMinute){
        hour = selectedHour;
        minute = selectedMinute;

        updateDisplay(hour,minute);
    }
};

private void updateDisplay(int hour, int minute) {
    if(flag==1){
        edittext_starttime.setText(new StringBuilder().append(pad(hour)).append(":").append(pad(minute)));
    }else if(flag==2){
        edittext_endtime.setText(new StringBuilder().append(pad(hour)).append(":").append(pad(minute)));
    }
}

private static String pad(int c) {
    if (c >= 10)
       return String.valueOf(c);
    else
       return "0" + String.valueOf(c);
}

我想在sqlite数据库中插入start_time和end_time,因为我已经编写了查询,

String query = "insert into Status_Master(status_id, status_name, status_description,  timewindow_start, timewindow_end) values("+status_id+",'"+status_name+"','"+status_desc+"',time('"+start_time+"'),time('"+end_time+"'))";

但我收到了错误.这是在数据库中插入时间的正确方法吗?

解决方法:

  SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); 

  Date date1 = new Date();
  Date date2 = new Date();

    ContentValues initialValues = new ContentValues(); 
         initialValues.put("status_id",status_id);
         initialValues.put("status_name", status_name);
         initialValues.put("status_description", status_desc);



         initialValues.put("timewindow_start", dateFormat.format(date1));
          initialValues.put("timewindow_end", dateFormat.format(date2));

    long result= mDb.insert(DB_TABLE_NAME, null, initialValues);

【说明】本文章由站长整理发布,文章内容不代表本站观点,如文中有侵权行为,请与本站客服联系(QQ:254677821)!