我正在开发 C# 4.0 WinForm 应用程序,这些实际上是与会计相关的应用程序,主要功能是将数据保存在数据库中并从中检索。
后端使用 SqlServer 2008 r2 Express。
问题是当我们在数据库上执行命令时需要几秒钟的时间,那时我的应用程序主窗口会停止。
当我对数据库执行命令时,当在数据库上执行整个命令时,主应用程序返回。
就像“NonQuery()”
所以,我在它之前显示一个表单并在命令之后关闭该表单,但问题是我在表单上放置了一个 GIF 图像,因为在主应用程序上停止执行,gif 在命令执行之前不显示动画.
所以我把它放在BackGroundWorker上,但是主线程被停止了,所以它的子线程也停止了。
我们不能将数据库事务放在后台工作人员中,因为有时工作取决于从数据库中检索到的结果,并且我们希望停止应用程序直到没有获取数据,但在这种情况下,我们也希望在等待表单上显示 gif 图像它的动画。
在这种情况下该怎么做,怎么做。