使用OleDbCommandBuilder轻松更新ORACLE数据库
使用OleDbCommandBuilder轻松更新ORACLE数据库(同样的方法可以更新sql数据库

下面是一段删除数据库中一行的源程序:
通过对DataSet中的表的行Delete,行被标记为Deleted,然后调用DataSet(或
DataTable)的GetChanges 方法,最后调用OleDbDataAdapter的update方法,数据
库就成功更新了,但是别忘了用DataSet的AcceptChanges方法更新DataSet,这样
DataSet才会与数据库一致哦。当然,添加和update就和delete大同小异了。
public class delete : System.Web.UI.Page
    {
        OleDbConnection conn=null;
        private void Page_Load(object sender, System.EventArgs e)
        {
            try
            {
                string m_sviName="comy";
                string m_userName="qhxm";
                string m_pwdName="qhxm";
                string constr="Provider=MSDAORA.1;
Password="+m_pwdName+";Persist Security Info=True;User
ID="+m_userName+";Data Source="+m_sviName+";Extended Properties=''";
                OleDbConnection conn=new OleDbConnection (constr);
                string ssql="select * from score";
                OleDbDataAdapter adapter = new OleDbDataAdapter();
                adapter.SelectCommand = new OleDbCommand (ssql,conn);
                OleDbCommandBuilder custCB = new
OleDbCommandBuilder(adapter);
                DataSet ds=new DataSet ();
                adapter.Fill (ds,"score");
                DataTable dt=ds.Tables ["score"];
                DataView dv=new DataView (dt,"id=1003","id",
DataViewRowState.CurrentRows );
                for(int i=0;i<dv.Count ;i++){
                    dv.Delete (i);
                }
                DataSet nds=ds.GetChanges (DataRowState.Deleted  );
                adapter.Update (nds,"score");
                ds.AcceptChanges ();
                this.Response.Write ("Delete Successfully!");
                }
            catch(Exception exc)
                this.Response.Write(exc.Message);
            }
            // 在此处放置用户代码以初始化页面
        }        private void Page_UnLoad(object sender, System.EventArgs e){
            if(conn.State!=ConnectionState.Closed )
            {
                conn.Close();
            }
        }