怎样用OleDbDataAdapter来对数据库进行操作?

 

请问怎样用OleDbDataAdapter来对数据库进行删除、改动和加入?

OleDbDataAdapter是DataSet和数据源之间建立联系的重要纽带。用它我们能够对数据库进行删除、改动和加入等操作,以下以删除(Delete)为例,说说操作步骤:
    1、用OleDbConnection conn = getConn()语句建立数据库连接;
    2、实例化OleDbDataAdapter对象,用select语句取得要删除的记录。而不是使用delete语句;
    3、建立一个DataSet对象,并把运行select语句得到的记录加入到当中;


4、建立OleDbCommandBuilder对象,并与前面的OleDbDataAdapter对象关联,以监视RowUpdating事件的发生。在删除了指定的记录后,要通过运行OleDbDataAdapter对象的Update命令来更新数据库,语句例如以下:


OleDbCommandBuilder mybuilder = new OleDbCommandBuilder(myDataAdapter);
    5、删除DataSet中包括表的特定记录
    6、运行OleDbDataAdapter对象的Update命令更新数据库:


myDataAdapter.Update(ds,"notes")


7、关闭数据库连接。


以上操作步骤不仅适合于Delete操作,相同适合Insert、Update等操作。以下我们以通过OleDbDataAdapter来运行删除(Delete)特定的数据库记录为例,看看详细代码:


public Boolean DelNote(string delid)


//删除特定记录,通过string类型的ID删除字段
{
Boolean tempvalue=false;
      try
      {
              OleDbConnection conn = getConn();


//连接数据库.getConn():得到连接对象
              string selectstr = "select * from notes where id=" + delid;
OleDbDataAdapter myDataAdapter = new OleDbDataAdapter(selectstr,conn);
OleDbCommandBuilder mybuilder = new OleDbCommandBuilder(myDataAdapter);
//建立OleDbCommandBuilder
         DataSet ds = new DataSet();


//建立DataSet()实例
              myDataAdapter.Fill(ds,"notes");
       
              foreach(DataRow dr in ds.Tables["notes"].Rows)


//因为在開始选择了全部的记录,此处用集合方式

              {               
                    if(dr["id"].ToString().Equals(delid))
                    {
                        dr.Delete();
                    }
                  }
              myDataAdapter.Update(ds,"notes");
                       
              conn.Close();
          tempvalue=true;
          return(tempvalue);


//运行成功返回TRUE,否则返回FALSE
    }


catch(Exception e)
          {
              throw(new Exception("噢,数据库删除出错:" + e.Message)) ;
      }
}


上一篇:VS2015编译CURL7.54.0源码


下一篇:Android图片setBackgroundResource和setImageResource的区别