我有一个用C#.Net构建的表单,它有大约40个控件,所有控件数据值都来自sql server数据库。 以下哪项是更好的方法
例如:
connection.Open
DataSet ds = ExecuteProc("SomeProc")
control1.DataSource=ds.Tables(0)
control2.DataSource=ds.Tables(1)
control3.DataSource=ds.Tables(2)
.
.
.
.
connection.Close
例如:
all running parallely:
connection.Open
DataSet ds = ExecuteProc("SomeProc1")
control1.DataSource=ds.Tables(0)
connection.Close
connection.Open
DataSet ds = ExecuteProc("SomeProc2")
control2.DataSource=ds.Tables(0)
connection.Close
connection.Open
DataSet ds = ExecuteProc("SomeProc3")
control3.DataSource=ds.Tables(0)
connection.Close
您能否帮助我找到所提方法的答案,还是有其他更好的方法可以更快的速度实现这一目标?
提前致谢
答案 0 :(得分:0)
第二种方法是更好的方法。由于连接池,打开/关闭连接是一种非常便宜的操作。 创建连接是个大家伙。
答案 1 :(得分:-1)
看看你的历史,你会遇到许多先入为主的观念,背景不够。 “线程化”对于你来说是一个嗡嗡声,你想拥有它。
如果我必须在两个选项之间做出选择,我会选择前者。引入网络延迟(两种方式!)可能相当昂贵,而且您一次只能讨论几十个和几十个查询。
但是,我愿意打赌你实际上并不需要40张不同的牌桌。我打赌你可以把所有数据放在一张桌子上。我的意思是... 40个数据网格,你甚至没有在屏幕上为他们使用理智的用户界面,如果你没有一个理智的用户界面,修复它。我敢打赌你的控件只是文本框或标签或其他东西,所以你只需要为每个控件返回一个单元格就可以了。