实现效果 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
---------------------------
确定
---------------------------
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
---------------------------
确定
---------------------------
那位大哥帮帮忙啊
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货