我在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();
}
请帮帮我。 谢谢。
答案 0 :(得分:0)
为什么不在db中将日期存储为字符串,然后将此字符串解析为日期
DateFormat df = new SimpleDateFormat("date format", Locale.ENGLISH);
Date result = df.parse(date_string);