【问题标题】:How to store selected date to sqlite database in android?如何将选定的日期存储到android中的sqlite数据库?
【发布时间】:2015-03-26 06:59:11
【问题描述】:

我在 android 中创建了一个布局,其中包括日期选择器和在文本框中显示日期。我想将该日期存储到数据库中,我已经创建了数据库,但是在从文本框中获取该日期时发生了错误。如何存储选定的日期?

public class Welcome_Coordinator extends Activity implements OnClickListener{

boolean flag=false;
SQLiteDatabase db=null;
Button btnCalendar, btnTimePicker;
EditText txtDate, txtTime;
private int mYear, mMonth, mDay;

@SuppressLint("SimpleDateFormat") 

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.welcome_coordinator);


      btnCalendar = (Button) findViewById(R.id.btnCalendar);
        txtDate = (EditText)findViewById(R.id.txtDate);
        btnCalendar.setOnClickListener(this);


        db=openOrCreateDatabase("schooldata", MODE_PRIVATE, null);
        db.execSQL("create table if not exists employee(txtDate varchar,flag varchar)");


}

@Override
public void onClick(View v) {

    if (v == btnCalendar) {

        // Process to get Current Date
        final Calendar c = Calendar.getInstance();
        mYear = c.get(Calendar.YEAR);
        mMonth = c.get(Calendar.MONTH);
        mDay = c.get(Calendar.DAY_OF_MONTH);

        // Launch Date Picker Dialog
        DatePickerDialog dpd = new DatePickerDialog(this,
                new DatePickerDialog.OnDateSetListener() {

                    @Override
                    public void onDateSet(DatePicker view, int year,
                            int monthOfYear, int dayOfMonth) {
                        // Display Selected date in textbox
                        txtDate.setText(dayOfMonth + "-"
                                + (monthOfYear + 1) + "-" + year);

                    }
                }, mYear, mMonth, mDay);
        dpd.show();
    }

}


public void action(View v)
{
switch(v.getId())
{
    case R.id.button1:

        //I am getting an error here 

    String txtDate=txtDate.getText().toString();
        {
        db.execSQL("insert into employee values('"+txtDate+"', 'nothing')");
        overridePendingTransition(R.anim.slide_in_right, R.anim.slide_out_left);
        db.close();
        finish();
    }

    break;
}
Toast.makeText(getApplicationContext(), "Submitted Successfully", Toast.LENGTH_LONG).show();


}

请帮助我。 谢谢。

【问题讨论】:

  • 什么是错误???
  • 你在 String txtDate=txtDate.getText().toString(); ?
  • 它在 getText() 上显示“方法 getText() 未定义为 String 类型”
  • 在此处查看 SQLite 有效时间字符串:sqlite.org/lang_datefunc.html

标签: android sqlite datepicker textview


【解决方案1】:

为什么不将日期作为字符串存储在数据库中,然后将这个字符串解析为日期

DateFormat df = new SimpleDateFormat("date format", Locale.ENGLISH);
Date result =  df.parse(date_string);  

【讨论】:

    猜你喜欢
    • 2015-06-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-11-18
    • 1970-01-01
    • 1970-01-01
    • 2019-12-19
    • 1970-01-01
    相关资源
    最近更新 更多