关于android中sqllite对时间的操作

sql 中有时间的类型,date,time,datetime,方便关于记录的维护,下面一个demo演示怎么在每条记录中默认增加时间

源码下载地址 http://www.codes51.com/code/detail_1460.html

1.先是databasehelper类,这里建表保存一本书,包括书名,作者。

 

package com.chaoyue.sqldemo;



import android.content.ContentValues;

import android.content.Context;

import android.database.Cursor;

import android.database.sqlite.SQLiteDatabase;

import android.database.sqlite.SQLiteOpenHelper;



public class DatabaseHelper extends SQLiteOpenHelper {

	private final static String DATABASE_NAME = "BOOKS.db";

	private final static int DATABASE_VERSION = 1;

	public final static String TABLE_NAME = "books_table";

	public final static String BOOK_ID = "book_id";

	public final static String BOOK_NAME = "book_name";

	public final static String BOOK_AUTHOR = "book_author";



	public DatabaseHelper(Context context) {

		// TODO Auto-generated constructor stub

		super(context, DATABASE_NAME, null, DATABASE_VERSION);

	}



	// 创建table

	@Override

	public void onCreate(SQLiteDatabase db) {

		String sql = "CREATE TABLE " + TABLE_NAME + " (" + BOOK_ID

				+ " INTEGER primary key autoincrement, " + BOOK_NAME

				+ " text, " + BOOK_AUTHOR + " text, oderdate DATETIME DEFAULT CURRENT_TIMESTAMP  );";

		db.execSQL(sql);

	}



	@Override

	public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {

		String sql = "DROP TABLE IF EXISTS " + TABLE_NAME;

		db.execSQL(sql);

		onCreate(db);

	}



	public Cursor select() {

		SQLiteDatabase db = this.getReadableDatabase();

		Cursor cursor = db

				.query(TABLE_NAME, null, null, null, null, null, null);

		return cursor;

	}



	// 增加操作

	public long insert(String bookname, String author) {

		SQLiteDatabase db = this.getWritableDatabase();

		/* ContentValues */

		ContentValues cv = new ContentValues();

		cv.put(BOOK_NAME, bookname);

		cv.put(BOOK_AUTHOR, author);

		long row = db.insert(TABLE_NAME, null, cv);

		return row;

	}



	// 删除操作

	public void delete(int id) {

		SQLieDatabase db = this.getWritableDatabase();

		String where = BOOK_ID + " = ?";

		String[] whereValue = { Integer.toString(id) };

		db.delete(TABLE_NAME, where, whereValue);

		

	}



	// 修改操作

	public void update(int id, String bookname, String author) {

		SQLiteDatabase db = this.getWritableDatabase();

		String where = BOOK_ID + " = ?";

		String[] whereValue = { Integer.toString(id) };



		ContentValues cv = new ContentValues();

		cv.put(BOOK_NAME, bookname);

		cv.put(BOOK_AUTHOR, author);

		db.update(TABLE_NAME, cv, where, whereValue);

	}

	

	public SQLiteDatabase getDB(){

		SQLiteDatabase db = this.getReadableDatabase();

		return db;

	}



}

2.mainactivity中类简单应用

package com.chaoyue.sqldemo;



import android.app.Activity;

import android.database.Cursor;

import android.os.Bundle;

import android.util.Log;



public class MainActivity extends Activity {



	@Override

	protected void onCreate(Bundle savedInstanceState) {

		super.onCreate(savedInstanceState);

		setContentView(R.layout.activity_main);

		DatabaseHelper databaseHelper = new DatabaseHelper(this);

		databaseHelper.getDB().delete(DatabaseHelper.TABLE_NAME, null, null);

		databaseHelper.insert("a", "aa");

		databaseHelper.insert("b", "bb");

		databaseHelper.insert("c", "cc");

		databaseHelper.insert("d", "dd");

		databaseHelper.insert("e", "ee");

		databaseHelper.insert("f", "ff");

		Cursor cursor = databaseHelper.select();



		while (cursor.moveToNext()) {

			String name = cursor.getString(cursor.getColumnIndex("book_name"));

			String author = cursor.getString(cursor

					.getColumnIndex("book_author"));

			String oderdate = cursor.getString(cursor

					.getColumnIndex("oderdate"));

			Log.d("", "chaoyue name=" + name + " author=" + author

					+ " oderdate="+oderdate  );

		}

		cursor.close();

	}



}

 3.关于时间的更多操作与类型可以参考官方文档http://www.sqlite.org/lang_datefunc.html

你可能感兴趣的:(android)