正文  数据库 > Content Provider >

android ContentValues类 的实例代码

ContentValues类和 Hashtable比较类似,它也是负责存储一些名值对,但是它存储的名值对当中的名是一个String类型,而值都是基本类型。插入记录在这里我们将要插入的值都放到一个ContentValues的实例当中,然后执......

ContentValues类和 Hashtable比较类似,它也是负责存储一些名值对,但是它存储的名值对当中的名是一个String类型,而值都是基本类型。

插入记录

在这里我们将要插入的值都放到一个ContentValues的实例当中,然后执行插入操作,具体代码如下所示:

 

 public long createDiary(String title, String body) { 
         ContentValues initialValues = new ContentValues(); 
         initialValues.put(KEY_TITLE, title); 
         initialValues.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)+分; 
           initialValues.put(KEY_CREATED, created); 
           return mDb.insert(DATABASE_TABLE, null, initialValues); 
   } 

 

 

代码解释:

ContentValues initialValues = new ContentValues()语句实例化一个contentValues类。

initialValues.put(KEY_TITLE, title)语句将列名和对应的列值放置到initialValues里边。

mDb.insert(DATABASE_TABLE, null, initialValues)语句负责插入一条新的纪录,如果插入成功则会返回这条记录的id,如果插入失败会返回-1。

 

 例子

 

//更新 变更的信息
private void updateContact()
{
  if (mCursor != null)
  {
   mCursor.close();
            mCursor = null;
            ContentValues values = new ContentValues();
   values.put(ContactColumn.NAME, nameText.getText().toString());
   values.put(ContactColumn.MOBILENUM, mobileText.getText().toString());
   values.put(ContactColumn.HOMENUM, homeText.getText().toString());
   values.put(ContactColumn.ADDRESS, addressText.getText().toString());
   values.put(ContactColumn.EMAIL, emailText.getText().toString());
   values.put(ContactColumn.BLOG, blogText.getText().toString());
            getContentResolver().update(mUri, values, null, null);
        }
        setResult(RESULT_CANCELED);
        finish();
}