SQLite 数据库表操作

840427753 贡献于2013-05-21

作者 USER  创建于2010-08-05 07:56:00   修改者微软用户  修改于2010-08-05 07:56:00字数5362

文档摘要:数据库表增加删除修改查询根据SQLiteDatabase,SQLiteOpenHelper,ContentValues对数据库做增,删,改,查操作的公用代码.
关键词:

 数据库表增加 删除 修改 查询 根据SQLiteDatabase,SQLiteOpenHelper,ContentValues对数据库做增,删,改,查操作的公用代码.   SQLiteDatabase:   insert(databaseHelper.DATABASE_TABLE, null, content);   第一参数:数据库表名   第二个参数如果CONTENT为空时则向表中插入一个NULL,   第三个参数为插入的内容   delete(databaseHelper.DATABASE_TABLE,KEY_ROWID +"="+rowId , null)>0;   第一参数:数据库表名,   第二个参数表示条件语句,   第三个参数为条件带?的替代值   返回值大于0表示删除成功   update(databaseHelper.DATABASE_TABLE, args, KEY_ROWID + "=" + rowId, null) > 0;   第一个参数:数据库表名   第二个参数更新的内容   第三个参数更新的条件   第四个参数条件带?号的替代者   数据库创建:   Java代码   package us.imnet.iceskysl.db.notepad;   import android.content.Context;   import android.database.sqlite.SQLiteDatabase;   import android.database.sqlite.SQLiteOpenHelper;   import android.database.sqlite.SQLiteDatabase.CursorFactory;   /**   * 创建数据库对象   * @author xuzhenqin   *   */   public class DatabaseHelper extends SQLiteOpenHelper {   //数据库名称   private final static String DATABASE_NAME = "notepad";   //数据库版本号   private final static int DATABASE_VERSION = 1;   public static final String DATABASE_TABLE = "diary";   //数据表创建SQL语句   private static final String DATABASE_CREATE = "create table "+DATABASE_TABLE+" (_id integer primary key autoincrement, "   + "title text not null, body text not null, created text not null);";   public DatabaseHelper(Context context) {   //调用父类构造方法创建数据库   super(context, DATABASE_NAME, null, DATABASE_VERSION);   }   @Override   public void onCreate(SQLiteDatabase db) { //执行创建数据库SQL语句   db.execSQL(DATABASE_CREATE);   }   @Override   public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {   //判断数据库是否存在   db.execSQL("DROP TABLE IF EXISTS diary");   onCreate(db);   }   }   package us.imnet.iceskysl.db.notepad;   import android.content.Context;   import android.database.sqlite.SQLiteDatabase;   import android.database.sqlite.SQLiteOpenHelper;   import android.database.sqlite.SQLiteDatabase.CursorFactory;   /**   * 创建数据库对象   * @author xuzhenqin   *   */   public class DatabaseHelper extends SQLiteOpenHelper {   //数据库名称   private final static String DATABASE_NAME = "notepad";   //数据库版本号   private final static int DATABASE_VERSION = 1;   public static final String DATABASE_TABLE = "diary";   //数据表创建SQL语句   private static final String DATABASE_CREATE = "create table "+DATABASE_TABLE+" (_id integer primary key autoincrement, "   + "title text not null, body text not null, created text not null);";   public DatabaseHelper(Context context) {   //调用父类构造方法创建数据库   super(context, DATABASE_NAME, null, DATABASE_VERSION);   }   @Override   public void onCreate(SQLiteDatabase db) {   //执行创建数据库SQL语句   db.execSQL(DATABASE_CREATE);   }   @Override   public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {   //判断数据库是否存在   db.execSQL("DROP TABLE IF EXISTS diary");   onCreate(db);   }   }   数据库增,删,改,查公共类:   Java代码   package us.imnet.iceskysl.db.notepad;   import java.util.Calendar; import android.content.ContentValues;   import android.content.Context;   import android.database.Cursor;   import android.database.SQLException;   import android.database.sqlite.SQLiteDatabase;   import android.database.sqlite.SQLiteException;   /**   * 数据库操作对象   * @author xuzhenqin   *   */   public class DiaryDbAdapter {   public static final String KEY_TITLE = "title";   public static final String KEY_BODY = "body";   public static final String KEY_ROWID = "_id";   public static final String KEY_CREATED = "created";   private DatabaseHelper databaseHelper;   private Context context;   private SQLiteDatabase sqliteDatabase;   public DiaryDbAdapter(Context context)   {   this.context = context;   }   /**   * 打开数据库连接   */   public void open()   {   databaseHelper = new DatabaseHelper(context);   try   {   sqliteDatabase = databaseHelper.getWritableDatabase();   }catch(SQLiteException ex)   {   sqliteDatabase = databaseHelper.getReadableDatabase();   }   }   /**   * 关闭数据库连接   */   public void close()   {   sqliteDatabase.close();   }   /**   * 向数据库表中插入一条数据   * @param title 字段值   * @param body 字段值   */   public long createDiary(String title, String body)   {   ContentValues content = new ContentValues();   content.put(KEY_TITLE, title);   content.put(KEY_BODY, body);   Calendar calendar = Calendar.getInstance();   String created = calendar.get(Calendar.YEAR) + "年"   + calendar.get(Calendar.MONTH) + "月" + calendar.get(Calendar.DAY_OF_MONTH) + "日"   + calendar.get(Calendar.HOUR_OF_DAY) + "时"   + calendar.get(Calendar.MINUTE) + "分";   content.put(KEY_CREATED, created);   //content为插入表中的一条记录,类似与HASHMAP,是以键值对形式存储。   //insert方法第一参数:数据库表名,第二个参数如果CONTENT为空时则向表中插入一个NULL,第三个参数为插入的内容   return sqliteDatabase.insert(databaseHelper.DATABASE_TABLE, null, content);   }   /**   * 删除表中符合条件的记录   * @param rowId 删除条件   * @return 是否删除成功   */   public boolean deleteDiary(long rowId)   {   //delete方法第一参数:数据库表名,第二个参数表示条件语句,第三个参数为条件带?的替代值   //返回值大于0表示删除成功   return sqliteDatabase.delete(databaseHelper.DATABASE_TABLE,KEY_ROWID +"="+rowId , null)>0;   }   /**   * 查询全部表记录   * @return 返回查询的全部表记录   */   public Cursor getAllNotes()   {   //查询表中满足条件的所有记录   return sqliteDatabase.query(databaseHelper.DATABASE_TABLE, new String[] { KEY_ROWID, KEY_TITLE,   KEY_BODY, KEY_CREATED }, null, null, null, null, null);   }   /**   * 查询带条件的记录   * @param rowId 条件值   * @return 返回查询结果   * @throws SQLException 查询时异常抛出   */   public Cursor getDiary(long rowId) throws SQLException {   //查询表中条件值为rowId的记录   Cursor mCursor =   sqliteDatabase.query(true, databaseHelper.DATABASE_TABLE, new String[] { KEY_ROWID, KEY_TITLE,   KEY_BODY, KEY_CREATED }, KEY_ROWID + "=" + rowId, null, null,   null, null, null);   //mCursor不等于null,将标识指向第一条记录   if (mCursor != null) {   mCursor.moveToFirst();  }   return mCursor;   }   /**   * 更新数据库   * @param rowId 行标识   * @param title 内容   * @param body 内容   * @return 是否更新成功   */   public boolean updateDiary(long rowId, String title, String body) {   ContentValues args = new ContentValues();   args.put(KEY_TITLE, title);   args.put(KEY_BODY, body);   Calendar calendar = Calendar.getInstance();   String created = calendar.get(Calendar.YEAR) + "年"   + calendar.get(Calendar.MONTH) + "月"   + calendar.get(Calendar.DAY_OF_MONTH) + "日"   + calendar.get(Calendar.HOUR_OF_DAY) + "时"   + calendar.get(Calendar.MINUTE) + "分";   args.put(KEY_CREATED, created);   //第一个参数:数据库表名,第二个参数更新的内容,第三个参数更新的条件,第四个参数条件带?号的替代者   return sqliteDatabase.update(databaseHelper.DATABASE_TABLE, args, KEY_ROWID + "=" + rowId, null) > 0;   }   }

下载文档到电脑,查找使用更方便

文档的实际排版效果,会与网站的显示效果略有不同!!

需要 3 金币 [ 分享文档获得金币 ] 1 人已下载

下载文档