Android 中sqlite数据库的增删改查

  1. 创建sqlite的帮助类,继承SQLiteOpenHelper类。
  2. 重写onCreate方法和onUpgrade方法
  3. 重写父类的构造方法
    Dbhelp如下:
package net.hnjdzy.tinyaccount.db;import java.text.SimpleDateFormat;import java.util.Date;import java.util.Locale;import android.content.Context;import android.database.sqlite.SQLiteDatabase;import android.database.sqlite.SQLiteOpenHelper;/** * 数据库帮助类 * @author Administrator * */public class DatabaseHelper extends SQLiteOpenHelper {private final static String DATABASE_NAME = "account.db"; //数据库名private final static int DATABASE_VERSION = 1; //版本//建数据库库public DatabaseHelper(Context ctx){super(ctx,DATABASE_NAME,null,DATABASE_VERSION);}@Overridepublic void onCreate(SQLiteDatabase db) {// 建表//建立收入类型String sql = "create table AccountIncomeType (id integer primary key autoincrement,category text)";db.execSQL(sql);//收入流水表sql = "create table AccountIncome(id integer primary key autoincrement,"+"category text,money float,date text,remark text)";db.execSQL(sql);//建立支出类型sql = "create table AccountOutlayType (id integer primary key autoincrement,category text)";db.execSQL(sql);//支出流水表sql = "create table AccountOutlay(id integer primary key autoincrement,"+"category text,money float,date text,remark text)";db.execSQL(sql);//初始化数据//收入类型sql = "insert into AccountIncomeType(category) values('工资')";db.execSQL(sql);sql = "insert into AccountIncomeType(category) values('奖金')";db.execSQL(sql);sql = "insert into AccountIncomeType(category) values('津贴')";db.execSQL(sql);//支出类型sql = "insert into AccountOutlayType(category) values('交通费')";db.execSQL(sql);sql = "insert into AccountOutlayType(category) values('餐饮费')";db.execSQL(sql);sql = "insert into AccountOutlayType(category) values('资料费')";db.execSQL(sql);//创建收入的样例数据SimpleDateFormat sdf = new SimpleDateFormat("yyyy年MM月dd日 HH:mm:ss");String date = sdf.format(new Date());String sql0 = "insert into accountIncome(category,money,remark,date) values('%s',%d,'%s','%s')";sql = String.format(sql0, "工资",1000,"",date);db.execSQL(sql);sql = String.format(sql0, "奖金",500,"",date);db.execSQL(sql);sql = String.format(sql0, "津贴",800,"",date);db.execSQL(sql);//支出的样例数据sql0 = "insert into accountOutlay(category,money,remark,date) values('%s',%d,'%s','%s')";sql = String.format(sql0, "交通费",100,"",date);db.execSQL(sql);sql = String.format(sql0, "餐饮费",200,"",date);db.execSQL(sql);sql = String.format(sql0, "资料费",300,"",date);db.execSQL(sql);}@Overridepublic void onUpgrade(SQLiteDatabase arg0, int arg1, int arg2) {// TODO Auto-generated method stub}}

建表:
create table AccountOutlayType (id integer primary key autoincrement,category text)
Primary key 设置主键,autoincrement 自动增长

增删改查

1. 声明数明数据库操作对象SQLiteDatabase的变量。添加,删,改数据用db2,查询用db1

private SQLiteDatabase db1 =this.dbHelper.getReadableDatabase();//读private SQLiteDatabase db2  = this.dbHelper.getWritableDatabase();//写
  1. 添加数据
public boolean addIncomeType(String name){ContentValues values = new ContentValues();values.put("category", name);//category添加的字段名,name添加的数据long result = db2.insert("accountIncomeType", null, values);// accountIncomeType表名 return result>0;}
  1. 删除数据
public boolean deleteIncomeType(String name){//表名,条件,条件值//db2.delete(, whereClause, whereArgs)long result = db2.delete("accountIncomeType", "category=?",new String[]{String.valueOf( name)});//返回受影响的行数return result>0;}
  1. 修改数据
db2.update(table, values, whereClause, whereArgs);

table:表名
value:要被修改的新值
whereclause:sql语句的where的条件部分未知部分可用?号
wherearge:字符串数组表示未知的?号部分
列:SQL语句:update news set context = ? where title = “头部”

ContentValues values = new ContentValues();values.put("context", context);db2.update(“news”, values, “title = ?,new String[]{“头部”} );
  1. 查询数据
public List<String> queryIncomeType(){String sql = "select category from accountIncomeType";//sql查询语句Cursor c = db1.rawQuery(sql, null);//查询方法,返回浮标List<String> result = new ArrayList<String>();while(c.moveToNext()){result.add(c.getString(0));}c.close();return result;}

更多相关文章

  1. 实例教程八:采用ListView实现数据列表显示
  2. Android客户端解析web服务器XML数据小问题
  3. Android应用数据备份
  4. 【Android】数据存储之SQLite
  5. 如何查看无法导出的android数据库文件?
  6. Android本地数据存储之Sharedpreference
  7. Android实现数据存储技术

随机推荐

  1. 开发技术前线 第八期 周报
  2. Android学习日记
  3. WebView 打印web端的console日志(如consol
  4. AndoridStudio--Error:FAILURE: Build fa
  5. android 3种定时器的方法
  6. Mac IDA debug android exec program
  7. Android 知识体系
  8. DateFormatUtil,好用的日期格式化工具类
  9. webview和Android交互
  10. Android热更新实现原理浅析