SQlite-数据库的访问实例(转)
生活随笔
收集整理的這篇文章主要介紹了
SQlite-数据库的访问实例(转)
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
1、DBAdapter類: 1 package com.cnzcom.android.quickdial;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.SQLiteOpenHelper;
import android.util.Log;/*** * @author zhangjie** 數據庫相關操作的類*/
public class DBAdapter {/*** 數據庫名*/private static final String DATABASE_NAME = "quickdial.db";/*** 數據表名*/private static final String DATABASE_TABLE = "quickdial";/*** 數據庫版本*/private static final int DATABASE_VERSION = 1;/*** key_id :主鍵*/@SuppressWarnings("unused")private static final String KEY_ID = "key_id";/*** position :位置信息,表示數據是第幾項*/private static final String POSITION = "position";/*** name :姓名*/private static final String NAME = "name";/*** phone_number :電話號碼*/private static final String PHONE_NUMBER = "phone_number";/*** ip :是否ip播出*/private static final String IP = "ip";/*** */private static final String DATABASE_CREATE ="create table quickdial (key_id INTEGER PRIMARY KEY, "+ "position INTEGER, " + "name TEXT, " + "phone_number TEXT, "+ "ip INTEGER"+ ");";/*** */private final Context context;/*** */private DatabaseHelper DBHelper;/*** */private SQLiteDatabase db;public DBAdapter(Context ctx) {context = ctx;DBHelper = new DatabaseHelper(context);}private static class DatabaseHelper extends SQLiteOpenHelper {public DatabaseHelper(Context context) {super(context, DATABASE_NAME, null, DATABASE_VERSION);}@Overridepublic void onCreate(SQLiteDatabase db) {// TODO Auto-generated method stub
db.execSQL(DATABASE_CREATE);}@Overridepublic void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {// TODO Auto-generated method stubdb.execSQL("DROP TABLE IF EXISTS " + DATABASE_TABLE);onCreate(db);}}/*** 打開數據庫* @return* @throws SQLException*/public SQLiteDatabase open() throws SQLException{db = DBHelper.getWritableDatabase();Cursor cursor = getAll();if(cursor.getCount() == 0) {Log.e("數據庫為空", "插入數據");/*** 先使用假數據初始化數據庫*/for(int i = 0; i < 10; i++) {insert(i, "", "", 0);} } else {Log.e("數據庫不為空", "讀取數據");}cursor.close();return db;}/*** 關閉數據庫*/public void close(){DBHelper.close();}/*** 向數據庫中插入數據*/public long insert(int position, String name, String phone_number, int ip) {ContentValues initialValues = new ContentValues();initialValues.put(POSITION, position);initialValues.put(NAME, name);initialValues.put(PHONE_NUMBER, phone_number);initialValues.put(IP, ip);return db.insert(DATABASE_TABLE, null, initialValues);}/*** 刪除數據,其實不是真正意義上的刪除,而是將name = ""、phone_number = ""、ip = 0*/public boolean delete(int position) {ContentValues initialValues = new ContentValues();initialValues.put(POSITION, position);initialValues.put(NAME, "");initialValues.put(PHONE_NUMBER, "");initialValues.put(IP, 0);return db.update(DATABASE_TABLE, initialValues, POSITION + "=" + position, null) > 0; // return db.delete(DATABASE_TABLE, POSITION + "=" + position, null) > 0;
}/*** 更改數據*/public boolean update(int position, String name, String phone_number, int ip) {ContentValues initialValues = new ContentValues();//initialValues.put(POSITION, position);
initialValues.put(NAME, name);initialValues.put(PHONE_NUMBER, phone_number);initialValues.put(IP, ip);return db.update(DATABASE_TABLE, initialValues, POSITION + "=" + position, null) > 0; }public Cursor getAll() {Cursor cur = db.query(DATABASE_TABLE, null, null, null, null, null, null);return cur; }public Cursor get(long rowId) throws SQLException {Cursor cur = db.query(true, DATABASE_TABLE, new String[] {POSITION,NAME,PHONE_NUMBER,IP}, POSITION + "=" + rowId, null, null, null, null, null);if(cur != null) {cur.moveToFirst();}return cur;}}2、Activity中調用:1 public DBAdapter m_DBAdapter;m_DBAdapter = new DBAdapter(this);
m_DBAdapter.open();
文章出處
http://www.cnblogs.com/Jackeyzhang/archive/2011/06/02/2068459.html
轉載于:https://www.cnblogs.com/zhangshuli-1989/p/zhangshuli_SQlite_150302183.html
《新程序員》:云原生和全面數字化實踐50位技術專家共同創作,文字、視頻、音頻交互閱讀總結
以上是生活随笔為你收集整理的SQlite-数据库的访问实例(转)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: linux 信号处理
- 下一篇: MVC通过ViewBag动态生成Html