android数据库的操作

import java.text.SimpleDateFormat;
import java.util.Date;

import android.content.ContentValues;
import android.content.Context;
import android.database.Cursor;
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteOpenHelper;
import android.util.Log;

public class DBOpenHelper extends SQLiteOpenHelper {
    private static final int DB_VERSION=1;
    private static final String DB_NAME="gexing.db";
    public static final String TABLE_FILE="file";
    public DBOpenHelper(Context context, String name, 
            int version) {
        super(context, name, null, version);
        // TODO Auto-generated constructor stub
    }
    public DBOpenHelper(Context context, int version) {
        super(context, DB_NAME, null, version);
        // TODO Auto-generated constructor stub
    }
    public DBOpenHelper(Context context) {
        super(context, DB_NAME, null, DB_VERSION);
        // TODO Auto-generated constructor stub
    }
    

    @Override
    public void onCreate(SQLiteDatabase db) {
        // TODO Auto-generated method stub
        String sql="CREATE TABLE IF NOT EXISTS "+TABLE_FILE+"(" +
        "id integer primary key autoincrement," +
        "path varchar(60),"+
        "name varchar(60)," +
        "time varchar(20),"+
        "last_time varchar(20)"+
        ")";
        db.execSQL(sql);
        System.out.print("============");
        Log.i("database", "db created!");
    }

    @Override
    public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
        // TODO Auto-generated method stub
        String sql="DROP TABLE IF EXISTS"+TABLE_FILE;
        db.execSQL(sql);
    }
    
    public void saveFile(String path,String fileName,String ext){
        SQLiteDatabase db=this.getWritableDatabase();
        ContentValues cv=new ContentValues();
        cv.put("path", path+fileName+ext);
        cv.put("name", fileName);
        cv.put("time", getDatetime());
        cv.put("last_time", getDatetime());
        db.insert(TABLE_FILE, null, cv);
    }
    
    public String findPathByUrl(String url){
        SQLiteDatabase db=this.getReadableDatabase();
        String sql="SELECT * FROM "+DBOpenHelper.TABLE_FILE+" WHERE name='"+Md5Utils.MD5(url)+"'";// ORDER BY id DESC";
        Cursor cursor=db.rawQuery(sql,null);
        //Cursor cursor=db.query(TABLE_FILE, new String[]{"id","path","name","time","last_time"}, "name=?", new String[]{Md5Utils.MD5(url)}, null, null, null);
        String path="";
        if(cursor.moveToFirst()){
            path=cursor.getString(cursor.getColumnIndex("path"));
        }
        Log.i("path", path);
        return path;
    }
    
    private String getDatetime(){
        SimpleDateFormat df=new SimpleDateFormat("yyyyMMddHHmmss");
        return df.format(new Date());
    }
}

 

posted @ 2012-12-17 18:48  愤怒的coder  Views(166)  Comments(0)    收藏  举报