不经SqlDataAdapter填充能由SqlDataAdapter更新

解决方案 »

  1.   

    我是填充DataSet的,然后对DataSet进行修改,然后Update
      

  2.   

    DataAccess da = GetDataLink.GetDataAccess();
    //获取当前帐目的员工信息表名称
    _GetCurrentYGXXTableName();
    //提取员工表所有字段
    string temSQL = "Select * From " + _CurrentTableName + " Order by " + MXSoft.DataBases.GZGL.Tables.YGXX.PLSX;
    //数据适配器开始启用
    _OleAdp = new System.Data.OleDb.OleDbDataAdapter(temSQL,da.DBE.OleConnection);
    //生成更新语句
    System.Data.OleDb.OleDbCommandBuilder temOleCmdBuld = new System.Data.OleDb.OleDbCommandBuilder(_OleAdp);
    temOleCmdBuld.QuotePrefix="[";
    temOleCmdBuld.QuoteSuffix="]";
    //设置命令执行对像
    _OleAdp.InsertCommand = temOleCmdBuld.GetInsertCommand();
    _OleAdp.UpdateCommand = temOleCmdBuld.GetUpdateCommand();
    _OleAdp.DeleteCommand = temOleCmdBuld.GetDeleteCommand();
    //生成数据表
    DataTable temDataTable = new DataTable();
    //写数据到操作表
    _OleAdp.Fill(temDataTable);
    //设定表的主键
    DataColumn[] temColus = new DataColumn[1];
    temColus[0] = temDataTable.Columns[MXSoft.DataBases.GZGL.Tables.YGXX.YGID];
    temDataTable.PrimaryKey = temColus;
    _DataSource = temDataTable;
    return _DataSource;