DataTabe_RowDeleting,数据库未更新
DataTabe_RowDeleting, database not being updated
我的 table 适配器的删除命令实际上是一个存储过程,它使用行 "deleted" 的日期时间更新行以及在另一列中执行删除的用户,因为我不想实际删除该行,只是将其标记为不包含在以后的选择中。我正在使用我的数据 table 的 RowDeleting 事件,如下所示,我没有收到任何错误,该行正在从绑定到我的数据 table 的数据网格视图中删除,尽管我在数据库 table 未成功更新。我哪里错了?
private void PROCFixedIncomeTradesSelect_RowDeleting(object sender, DataRowChangeEventArgs e)
{
AAMOpsDBDataSet.PROCFixedIncomeTradesSelectRow row = (AAMOpsDBDataSet.PROCFixedIncomeTradesSelectRow)e.Row;
row.Deleted = DateTime.Now;
row.DeletedBy = Environment.UserName;
}
我用来将更改推送到数据库的代码如下:
private void pROCFixedIncomeTradesSelectBindingNavigatorSaveItem_Click(object sender, EventArgs e)
{
SaveData();
}
private void SaveData()
{
this.Validate();
pROCFixedIncomeTradesSelectBindingSource.EndEdit();
this.tableAdapterManager.UpdateAll(aAMOpsDBDataSet);
}
编辑,第 2 天,我仍然希望找到这个问题的答案,关于我可以测试以尝试诊断问题的事情有什么建议吗?我确实测试了我的更新命令,在 datagridview 的一行中更改了一个值,然后单击我的保存按钮,该值在数据库中成功更新。
我仍然很困惑为什么我的其他代码没有按我希望的方式工作,但我删除了我正在使用的事件处理程序,现在正在 table 适配器的 RowUpdating 事件中进行更改。此代码按我想要的方式工作。
private void Adapter_RowUpdating(object sender, System.Data.SqlClient.SqlRowUpdatingEventArgs e)
{
if (e.StatementType == StatementType.Delete)
{
pROCFixedIncomeTradesSelectTableAdapter.Adapter.DeleteCommand.Parameters["@Deleted"].Value = DateTime.Now;
pROCFixedIncomeTradesSelectTableAdapter.Adapter.DeleteCommand.Parameters["@DeletedBy"].Value = Environment.UserName;
}
}
我的 table 适配器的删除命令实际上是一个存储过程,它使用行 "deleted" 的日期时间更新行以及在另一列中执行删除的用户,因为我不想实际删除该行,只是将其标记为不包含在以后的选择中。我正在使用我的数据 table 的 RowDeleting 事件,如下所示,我没有收到任何错误,该行正在从绑定到我的数据 table 的数据网格视图中删除,尽管我在数据库 table 未成功更新。我哪里错了?
private void PROCFixedIncomeTradesSelect_RowDeleting(object sender, DataRowChangeEventArgs e)
{
AAMOpsDBDataSet.PROCFixedIncomeTradesSelectRow row = (AAMOpsDBDataSet.PROCFixedIncomeTradesSelectRow)e.Row;
row.Deleted = DateTime.Now;
row.DeletedBy = Environment.UserName;
}
我用来将更改推送到数据库的代码如下:
private void pROCFixedIncomeTradesSelectBindingNavigatorSaveItem_Click(object sender, EventArgs e)
{
SaveData();
}
private void SaveData()
{
this.Validate();
pROCFixedIncomeTradesSelectBindingSource.EndEdit();
this.tableAdapterManager.UpdateAll(aAMOpsDBDataSet);
}
编辑,第 2 天,我仍然希望找到这个问题的答案,关于我可以测试以尝试诊断问题的事情有什么建议吗?我确实测试了我的更新命令,在 datagridview 的一行中更改了一个值,然后单击我的保存按钮,该值在数据库中成功更新。
我仍然很困惑为什么我的其他代码没有按我希望的方式工作,但我删除了我正在使用的事件处理程序,现在正在 table 适配器的 RowUpdating 事件中进行更改。此代码按我想要的方式工作。
private void Adapter_RowUpdating(object sender, System.Data.SqlClient.SqlRowUpdatingEventArgs e)
{
if (e.StatementType == StatementType.Delete)
{
pROCFixedIncomeTradesSelectTableAdapter.Adapter.DeleteCommand.Parameters["@Deleted"].Value = DateTime.Now;
pROCFixedIncomeTradesSelectTableAdapter.Adapter.DeleteCommand.Parameters["@DeletedBy"].Value = Environment.UserName;
}
}