android中sql关于时间的操作

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中类简单应用

IT经典笑语录:系统程序员:1、头皮经常发麻,在看见一个蓝色屏幕的时候比较明显,在屏幕上什幺都看不见的时候尤其明显;2、乘电梯的时候总担心死机,并且在墙上找reset键; 3、指甲特别长,因为按F7到F12比较省力; 4、只要手里有东西,就不停地按,以为是Alt-F、S;5、机箱从来不上盖子,以便判断硬盘是否在转; 6、经常莫名其妙地跟踪别人,手里不停按F10;7、所有的接口都插上了硬盘,因此觉得26个字母不够; 8、一有空就念叨“下辈子不做程序员了”; 9、总是觉得9号以后是a号; 10、不怕病毒,但是很害怕自己的程序;

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

时间: 2024-08-07 04:10:41

android中sql关于时间的操作的相关文章

Android中关于日期时间与时区的使用总结

原文引自:http://www.2cto.com/kf/201312/266908.html 在开发Android的过程中,出现过几次由于日期时间导致的问题,而且主要是由于时区的原因导致,所以一直想总结一下,形成一个良好的开发规范. 一.Unix时间戳 Unix时间戳(Unix timestamp),或称Unix时间(Unix time).POSIX时间(POSIX time),是一种时间表示方法,定义为从格林威治时间1970年01月01日00时00分00秒起至现在的总秒数.Unix时间戳不仅被

【Android】一段时间不操作弹出【屏保】效果

仿屏保效果 最近项目的一个小Demo,和大家分享一下,本篇文章主要展示的是一个仿屏保的效果,用户在一段时间不操作会自动弹出屏保页面,当处于屏保页面的时候,[两秒内连续]按两次键盘[回车键]就会退出屏保页面,效果图如下: 下面具体介绍一下实现过程: 一 .5秒不操作自动锁屏界面 这个界面非常简单,就一个TextView,直接贴代码: <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"

在Android中使用自带API操作Json

Json简介 JavaScript对象表示法(JavaScript Object Notation) 是存储和交换文本信息的语法 特点 是轻量级的文本数据交换格式 独立于语言和平台 具有自我描述性,更易理解 Json与XML 类似XML,比XML更小.更快.更易解析 没有结束标签 更短 读写的速度更快 使用数组 不使用保留字 Json语法 是JavaScript对象表示法语法的子集 数组在键值对中 数据由逗号分隔 大括号保存对象 中括号保存数组 Json值可以是 数字(整数或浮点数) 字符串(在

Android中实现日期时间选择器(DatePicker和TimePicker)

利用Android应用框架提供的DatePicker(日期选择器)和TimePicker(时间选择器),实现日期时间选择器. Dialog的Content布局文件(date_time_dialog.xml): <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"

java1.7与Android中的文件I/O操作(草稿)

说明:文件I/O的关键类比较多,这里总结一下. 参考:<Java 7 入门经典> 1.Java输入流 图1,java常用输入输出流的结构图(第一版) 1)标准流 标准流 类型 方法 System.in InputStream System.out PrintStream 例如:printf("b=%2$-15.2f",a,b) System.err 2)字节型 典型方式-1:从文件中读取 File file = ... InputStream in = null; try

Android中添加和识别手势操作

实现思路:将手势写入GestureLibrary中,对其他手势进行匹配对比,进行识别 先在布局中加入GestureOverlayView组件 <android.gesture.GestureOverlayView android:id="@+id/add_gesture" android:layout_width="match_parent" android:layout_height="match_parent" android:layo

android 中 系统日期时间的获取

From:http://blog.csdn.net/feifei454498130/article/details/6540133 import java.text.SimpleDateFormat; SimpleDateFormat formatter = new SimpleDateFormat ("yyyy年MM月dd日 HH:mm:ss "); Date curDate = new Date(System.currentTimeMillis());//获取当前时间 String

mysql 中sql 查询 时间

查询今天 select FROM_UNIXTIME(时间字段)as day from 表 Where to_days(FROM_UNIXTIME(d时间字段))=to_days(now())  FROM_UNIXTIME() 是把时间戳转换成日期 查询昨天 select * from 表 Where to_days(now())- TO_DAYS( FROM_UNIXTIME(时间字段)) =1 万能 查询以往时间信息 select to_days(now())-TO_DAYS( FROM_UN

DB2中SQL基本语句的操作

完全转载自:http://blog.sina.com.cn/s/blog_67aaf4440100v01p.html --创建数据库 create database Etp; --连接数据库 connect to Etp; --断开连接 disconnect Etp; --查看当前数据库下有哪些表 list tables; --建表 create table studentInfo( stuno char(5) not null, stuname varchar(8), stubirth dat