当我加载页面时,我使用以下代码填充我的转发器。
Dim conn As Data.SqlClient.SqlConnection
Dim Comm As Data.SqlClient.SqlCommand
Dim reader As Data.SqlClient.SqlDataReader
'conn = New Data.SqlClient.SqlConnection("Server=localhost\sqlexpress; " & _
'"Database=MyDB; Integrated Security=true")
conn = New Data.SqlClient.SqlConnection(ConfigurationManager.ConnectionStrings("MyConnection").ConnectionString)
Comm = New Data.SqlClient.SqlCommand( _
("HomePage"), conn)
Comm.CommandType = CommandType.StoredProcedure
Comm.Parameters.AddWithValue("@currentState", "Florida")
' Open the connection
conn.Open()
' Execute the category command
reader = Comm.ExecuteReader()
' Bind the reader to the repeater.......
blogRepeater.DataSource = reader
blogRepeater.DataBind()
' Close the reader
reader.Close()
' Close the connection
conn.Close()
End Try
现在我想调用另一个存储过程(同时),以便我可以填充一些文本字段(也在页面加载上)。但是我怎么能这样做,以便我只调用一次我的数据库以获得更好的性能?
如果您不了解VB.NET,C#示例也可以使用
答案 0 :(得分:4)
只是不要关闭连接并启动另一个存储过程。之后关闭连接。所以你会Dim另一个SQL命令并执行它。
类似的东西:
Dim Comm2 As Data.SqlClient.SqlCommand
Dim reader2 as Data.SqlClient.SqlDataReader
Comm2.CommandType = CommandType.StoredProcedure
Comm2.Paramaters.AddWithValue("@whateverValue", "Whatever")
然后就在你打开连接之后
reader2 = Comm2.ExecuteReader()
然后你会发现reader2有你想要的东西,但是你为它们使用了相同的连接。