如何用OleDbDataAdapter来对数据库进行操作

http://www.aspxhome.com/database/mssql/20106/1407212.htm

请问如何用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)) ;
    }
}

原文地址:https://www.cnblogs.com/carl2380/p/1967021.html