C# 在提交之前在C Gridview中输出回滚存储过程的结果
我有两个完全相同的存储过程,唯一的区别是一个提交插入/更新,而另一个以回滚模式运行 我正在努力实现的目标 我希望用户填写3个变量,然后单击一个按钮,这个按钮应该设置并执行存储过程的回滚版本。然后将向用户显示一个确定/取消对话框。如果数据看起来正常,则用户将从对话框结果中选择OK,否则选择Cancel。如果他们确实选择了OK,则将在此时执行存储过程的提交版本 我的问题 目前,在代码中,我复制了我为存储过程的提交版本所做的操作。i、 e更改完成后,将刷新数据集并更新gridview。由于存储过程的回滚版本实际上不会进行任何更改,因此gridview永远不会向用户显示如果单击“确定”数据会是什么样子 在SSMS中,如果我执行rollback stored proc,它将在rollback TRAN部分之前显示一条select语句,这基本上向我显示了数据的外观。我想用这个SELECT语句更新我的数据集,以便用户可以在单击OK commit之前检查更改 我的问题 是否有必要在回滚存储过程中使用SELECT语句来更新我的dataset/gridview,如果没有,是否有必要更改我的SQLDataAdapter来更新gridview,使其了解回滚存储过程事务中数据的外观,我想我可能需要使用ExecuteReader,但我不确定这是否适合我当前的代码 代码 这就成功了C# 在提交之前在C Gridview中输出回滚存储过程的结果,c#,sql,gridview,stored-procedures,C#,Sql,Gridview,Stored Procedures,我有两个完全相同的存储过程,唯一的区别是一个提交插入/更新,而另一个以回滚模式运行 我正在努力实现的目标 我希望用户填写3个变量,然后单击一个按钮,这个按钮应该设置并执行存储过程的回滚版本。然后将向用户显示一个确定/取消对话框。如果数据看起来正常,则用户将从对话框结果中选择OK,否则选择Cancel。如果他们确实选择了OK,则将在此时执行存储过程的提交版本 我的问题 目前,在代码中,我复制了我为存储过程的提交版本所做的操作。i、 e更改完成后,将刷新数据集并更新gridview。由于存储过程的回
//show the 'temporary' results in the gridview, taken from the rollback stored proc
using (SqlDataAdapter aroll = new SqlDataAdapter(cmdroll))
{
// Use DataAdapter to fill DataTable
DataTable troll = new DataTable();
aroll.Fill(troll);
// Render data onto the screen
gridSelectID.DataSource = troll;
}
//show the 'temporary' results in the gridview, taken from the rollback stored proc
using (SqlDataAdapter aroll = new SqlDataAdapter(cmdroll))
{
// Use DataAdapter to fill DataTable
DataTable troll = new DataTable();
aroll.Fill(troll);
// Render data onto the screen
gridSelectID.DataSource = troll;
}