//下面有详细的注释,
package com.ldci.db;
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 DBdao{
private static final String DB_NAME="info.db";
private static final String TB_NAME="email_tab";
//以下声明的是存放在数据库中列名
static final String F_ID="_id";
static final String F_FROMEMAIL="fromEmail";
static final String F_PASSWORD="password";
static final String F_TOEMAIL="toEmail";
private SQLiteDatabase db;
private DbHelper dbHelper;
private Context context;
public DBdao(Context context){
this.context=context;
}
public void open(){
dbHelper=new DbHelper(context);
db=dbHelper.getWritableDatabase(); //获得一个可写的数据库对象 ----这是创建数据库最常用的方法
}
public void close(){
db.close();
}
//插入
public long addInfo(String from,String pass,String to){
ContentValues initValues=new ContentValues();
initValues.put(F_FROMEMAIL, from);
initValues.put(F_PASSWORD,pass);
initValues.put(F_TOEMAIL,to);
return db.insert(TB_NAME, null, initValues);
}
//删除一条数据(只删除选中的一行) --是通过id来删除
public long delete(long rowId){
return db.delete(TB_NAME, F_ID+"="+rowId,null);
}
//清空(删除所有行)
public long deleteAll(){
return db.delete(TB_NAME, null,null);
}
//更新 --是通过Id来执行更新操作
public long updata(long rowId,String from,String pass,String to ){
ContentValues values=new ContentValues();
values.put(F_FROMEMAIL, from);
values.put(F_PASSWORD, pass);
values.put(F_TOEMAIL, to);
return db.update(TB_NAME, values, F_ID+"="+rowId, null);
}
/**
* 查询记录
* @return
*/
//查询所有数据
public Cursor getAll(){
String sql="select * from email_tab";
return db.rawQuery(sql,null); //将返回一个Cursor对象,Cursor对象包含查询到的所有数据
}
//查询一条数据 (通过Id)
public Cursor getData(long rowId){
return db.rawQuery("select * from email_tab where " + F_ID +"= " + rowId , null);
}
//用while读出Cursor中所有内容
public void readCursor(Cursor cursor){
while(cursor.moveToNext()){
int rowId=cursor.getInt(cursor.getColumnIndex(F_ID));
String from=cursor.getString(cursor.getColumnIndex(F_FROMEMAIL));
String pass=cursor.getString(cursor.getColumnIndex(F_PASSWORD));
String to=cursor.getString(cursor.getColumnIndex(F_TOEMAIL));
//Log.d("aa",rowId+from+pass+to);
}
}
//1. 创建内部类,初始化数据库及数据表
class DbHelper extends SQLiteOpenHelper{
public DbHelper(Context context) {
super(context,DB_NAME, null,2);
}
// 在数据库被创建时自动调用onCreate()方法