您的位置:首页 > 移动开发 > Android开发

通过android API函数操作数据库

2015-11-07 17:44 579 查看
public void savePerson(Person p)
{
SQLiteDatabase db = helper.getWritableDatabase();
if(db.isOpen())
{
//nullColumnHack 如果数据库里面的name子都设计的时候不允许为空,但是你传递过来的参数是空
// 如果不设置这个nullColumnHack参数那么就会报错
// 如果你设置nullColumnHack这个参数的值为name那么不会报错

ContentValues values = new ContentValues();

values.put("name", p.getName());
values.put("age", p.getAge());

Long id = db.insert("person", null, values);

Log.d(TAG, "================:" + id);
db.close();
}
}

public void deletePerson(Integer id)
{
SQLiteDatabase db = helper.getWritableDatabase();
if(db.isOpen())
{
//select * from person where id=? and name = ?;
String whereClause = "_id=?";
String[] whereArgs = new String[]{String.valueOf(id)};

int _id = db.delete("person", whereClause, whereArgs);

Log.d(TAG, "================:" + _id);
db.close();
}
}

public void updatePerson(Person p)
{
SQLiteDatabase db = helper.getWritableDatabase();
if(db.isOpen())
{
ContentValues values = new ContentValues();
values.put("name", "xintx");
values.put("age", "2");

String whereClause = "_id=?";
String[] whereArgs = new String[]{String.valueOf(p.get_id())};

db.update("peson", values, whereClause, whereArgs);

db.close();
}
}

public void queryItem(Integer id)
{
SQLiteDatabase db = helper.getWritableDatabase();
if(db.isOpen())
{
String[] columns = new String[]{"_id","name","age"};
String selection = "_id=?";
String[] selectionArgs = new String[]{String.valueOf(id)};
String groupBy = null;
//按什么什么分组
String having = null; //如果select里面包含了组函数的时候,不能用where去查询 就只有用having
String orderBy = null; //按什么排序 order by id desc;

  Cursor cursor = db.query("person", columns, selection, selectionArgs, groupBy, having, orderBy); 

 

  if(null != cursor && cursor.moveToFirst())

  {

  Integer _id = cursor.getInt(0);

  String name = cursor.getString(1);

  Integer age = cursor.getInt(2);

 

  Log.d(TAG, "_id=" + _id + "  name=" + name + "  age = " + age);

 

  db.close();

  }
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: