我有一箇中繼器,它在每次迭代中抓取多個表中的數據。現在我打開連接,只要我輸入OnItemDataBound事件並在事件完成之前關閉它。這意味着連接在我的情況下打開和關閉超過1000次。這是正確的方法嗎?有沒有其他方法?中繼器內部打開/關閉數據庫連接
我的代碼基本上看起來像這樣
Protected Sub myRepeater_OnItemDataBound(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.RepeaterItemEventArgs)
Try
mycon.open()
Dim RowView As DataRowView = e.Item.DataItem
//fetch data from 5 different tables using the data from the datasource (dataset)
mycon.close()
Catch ex As Exception
End Try
End Sub
這真的取決於你所需要的數據。是否有可能查詢窗體構造函數中的所有數據並將結果設置爲中繼器數據源?檢查第一個示例:http://msdn.microsoft.com/en-us/library/system.web.ui.webcontrols.repeater.itemdatabound.aspx –
這是不可能在這種情況下。中繼器正在使用數據集作爲其數據源。我必須使用提供的數據在其他5個表格中查找相關信息。 – atar
那麼我恐怕你可能會被剔除。我會建議分頁您的值,所以你只需要打電話每頁100個查詢。 –