实现效果                   datatable
 textbox  - BindingSource -datagridview 将他们连起来,实现同步更新
批量更新方法 测试成功/// <summary>
        /// 批量更新数据
        /// </summary>
        /// <param name="dtt">数据源</param>
        /// <param name="sql">sql</param>
        public void UPDAT(DataTable dtt,string sql)
        {
            DataConn = new OleDbConnection(strConnection);
            da = new OleDbDataAdapter();
            da.SelectCommand = new OleDbCommand(sql, DataConn);
            cb = new OleDbCommandBuilder(da);
            cb.QuotePrefix = "[";
            cb.QuoteSuffix = "]";
            DataConn.Open();
            try
            {
                t = da.Update(dtt.GetChanges());
                if (t > 0)
                {
                    MessageBox.Show("保存成功!共计更新" + t.ToString() + "条数据!");
                }
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.ToString());
                dtt.AcceptChanges();
            }
            finally 
            {
                t = 0;
                DataConn.Close();
            }
问题1 如下: 在 datagridview 中测试,新增,修改,删除 基本没问题,但ddatagridview里面 如果只有一笔数据,删除后 保存提示错误 :------------------------------------------------------
System.ArgumentNullException: 值不能为 null。参数名: dataTable   在 System.Data.Common.DbDataAdapter.Update(DataTable dataTable)   在 IVCrd.DSdata.UPDAT(DataTable dtt, String sql) 位置 F:\开发\IVC\IVCrd\DSdata.cs:行号 77
---------------------------
确定   
---------------------------
问题2 在textbox 里面 编辑数据后,点击保存 提示如下错误:------------------------------------------------------
System.Data.DBConcurrencyException: 违反并发性: UpdateCommand 影响了预期 1 条记录中的 0 条。   在 System.Data.Common.DbDataAdapter.UpdatedRowStatusErrors(RowUpdatedEventArgs rowUpdatedEvent, BatchCommandInfo[] batchCommands, Int32 commandCount)   在 System.Data.Common.DbDataAdapter.UpdatedRowStatus(RowUpdatedEventArgs rowUpdatedEvent, BatchCommandInfo[] batchCommands, Int32 commandCount)   在 System.Data.Common.DbDataAdapter.Update(DataRow[] dataRows, DataTableMapping tableMapping)   在 System.Data.Common.DbDataAdapter.UpdateFromDataTable(DataTable dataTable, DataTableMapping tableMapping)   在 System.Data.Common.DbDataAdapter.Update(DataTable dataTable)   在 IVCrd.DSdata.UPDAT(DataTable dtt, String sql) 位置 F:\开发\IVC\IVCrd\DSdata.cs:行号 77
---------------------------
确定   
---------------------------问题3  有时候在 删除 数据后 提示:
------------------------------------------------------
System.Data.DBConcurrencyException: 违反并发性: DeleteCommand 影响了预期 1 条记录中的 0 条。   在 System.Data.Common.DbDataAdapter.UpdatedRowStatusErrors(RowUpdatedEventArgs rowUpdatedEvent, BatchCommandInfo[] batchCommands, Int32 commandCount)   在 System.Data.Common.DbDataAdapter.UpdatedRowStatus(RowUpdatedEventArgs rowUpdatedEvent, BatchCommandInfo[] batchCommands, Int32 commandCount)   在 System.Data.Common.DbDataAdapter.Update(DataRow[] dataRows, DataTableMapping tableMapping)   在 System.Data.Common.DbDataAdapter.UpdateFromDataTable(DataTable dataTable, DataTableMapping tableMapping)   在 System.Data.Common.DbDataAdapter.Update(DataTable dataTable)   在 IVCrd.DSdata.UPDAT(DataTable dtt, String sql) 位置 F:\开发\IVC\IVCrd\DSdata.cs:行号 77
---------------------------
确定   
---------------------------
那位大哥帮帮忙啊