Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/cmake/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 在提交之前在C Gridview中输出回滚存储过程的结果_C#_Sql_Gridview_Stored Procedures - Fatal编程技术网

C# 在提交之前在C Gridview中输出回滚存储过程的结果

C# 在提交之前在C Gridview中输出回滚存储过程的结果,c#,sql,gridview,stored-procedures,C#,Sql,Gridview,Stored Procedures,我有两个完全相同的存储过程,唯一的区别是一个提交插入/更新,而另一个以回滚模式运行 我正在努力实现的目标 我希望用户填写3个变量,然后单击一个按钮,这个按钮应该设置并执行存储过程的回滚版本。然后将向用户显示一个确定/取消对话框。如果数据看起来正常,则用户将从对话框结果中选择OK,否则选择Cancel。如果他们确实选择了OK,则将在此时执行存储过程的提交版本 我的问题 目前,在代码中,我复制了我为存储过程的提交版本所做的操作。i、 e更改完成后,将刷新数据集并更新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,但我不确定这是否适合我当前的代码

代码

这就成功了

 //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;
                        }