android开发中进行数据库记录插入时,要声明一个ContentValues对象,
ContentValues values=new ContentValues();
该对象中存储的是键值对,这里需要注意的是,键是数据库表里的列名,值是希望插入的具体数值,如
values.put(“id”,1);
values.put(“name”,”tom”);
接下来有:
DataBaseHelper dbHelper=new DataBaseHelper(MainActivity.this,"pedometer.db");
SQLiteDataBase db=dbHelper.getWritableDatabase();
db.insert("t_user",null,values);
数据库表记录的更新操作:
ContentValues values=new ContentValues();
values.put("name","lily");
DataBaseHelper dbHelper=new DataBaseHelper(MainActivity.this,"pedometer.db");
SQLiteDataBase db=dbHelper.getWritableDatabase();
//第一个参数是要修改的表名
//第二个参数是要修改的值
//第三个参数相当于where字句,即根据条件修改
//第四个参数是将值赋给占位符
db.update("t_user",values,"id=?",new String[]{"1"});
查询操作:
DataBaseHelper dbHelper=new DataBaseHelper(MainActivity.this,"pedometer.db");
SQLiteDataBase db=dbHelper.getReadableDatabase();
Cursor cursor=db.query("t_user",new String[]{"id","name"},"id=?",new String[]{"1"});
while(cusor.moveToNext()){
String name=cusor.getString(cusor.getColumnIndex("name"));
System.out.println("name is "+name);
}
以上方法是直接调用SQLiteDataBase 对象的insert(),updat()和query()方法。这里显得有些麻烦,因为用这种方法需要用ContenValues对象。这里还有比较省事的方法,即直接调用SQLiteDataBase 对象的execSQl(“sqlStr”,new Objects[]{“”})方法。
针对以上增删改有:
db.execSQL("insert into t_user (id,name) values(?,?) ",new String[]{"1","name"});
db.execSQL("update t_user set name=? where id=?",new String[]{"name","1"});
db.execSQL("delete from t_user where id=?",new String[]{"1"});
List<String> all=new ArrayList<String>();
Cursor result = db.rawQuery("select name from t_user where id=? ", new String[]{"1"});
//采用循环的方式查询数据
for(result.moveToFirst();!result.isAfterLast();result.moveToNext() ){
all.add(result.getString(result.getColumnIndex("name")));
}
最后重要的是,别忘记了关闭数据库连接 db.close();