1,建立数据库连接 #Region " Open connection " '=========================================================== 'Function: openDBConnection 'Purpose: provides an SQL connection to the server '=========================================================== Public Shared Function openDBConnection() As System.Data.SqlClient.SqlConnection 'Get connection string from XML file Dim DB_CONN_STR As String = System.Configuration.ConfigurationManager.AppSettings("constring") Dim dbConnection As System.Data.SqlClient.SqlConnection = Nothing If (dbConnection Is Nothing) Then dbConnection = New System.Data.SqlClient.SqlConnection(DB_CONN_STR) Try dbConnection.Open() Catch ex As Exception Throw New Exception("Unable to open connection to database(" & ex.Message & ")", ex) dbConnection = Nothing End Try End If Return dbConnection End Function #End Region 2,建立数据集 dataset '=========================================================== 'Function: gGetPropertyPictures 'Purpose: Returns dataset of property pictures '=========================================================== Public Shared Function gGetPropertyPictures(ByVal iList As Integer) As DataSet 'Open connection Dim objConn As SqlConnection = openDBConnection() Dim objCmd As SqlCommand = New SqlCommand("spGetPictureCountMAY2006", objConn) objCmd.CommandType = CommandType.StoredProcedure objCmd.CommandTimeout = My.Settings.SqlTimeout 'Input Params objCmd.Parameters.Add("@idList", SqlDbType.Int).Value = iList 'Must use an adapter and DataSet to use paging (since these retrieve data ICollections and store on cache) Dim objAda As SqlDataAdapter = New SqlDataAdapter(objCmd) Dim objDSet As DataSet = New DataSet objAda.Fill(objDSet) 'Clean up objCmd.Dispose() objAda.Dispose() closeDBConnection(objConn) 'Return value Return objDSet End Function 3,数据集dataset的一个参数 #Region " Properties " '=========================================================== 'Properties: misc 'Purpose: Values retrieved from querystring url or viewstate '=========================================================== Public Property QueryProperty() As Integer Get 'Primarily retrieve from Querystring If Request.QueryString("id") <> "" Then Return Request.QueryString("id") End If 'If not in querystring then retrieve from ViewState Dim o As Object = Me.ViewState("_QueryProperty") If o Is Nothing Then Return gNoPreference Else Return Int(o) End If End Get Set(ByVal Value As Integer) Me.ViewState("_QueryProperty") = Value End Set End Property Public ReadOnly Property iUserId() As Integer Get Return objFormsId.Ticket.UserData End Get End Property #End Region 4,给datagrid绑定数据源 '================================================== 'Function: OutputPicList 'Purpose: Output list of pictures added by the user '================================================== Public Sub OutputPicList() Dim objDSet As DataSet = gGetPropertyPictures(QueryProperty) 'Bind paged data to DataGrid DataGrid1.DataSource = objDSet DataGrid1.DataBind() '-------------------------------------------------------------------------- 'Set visibility for controls: don't show DataGrid or header text if no rows '-------------------------------------------------------------------------- If objDSet.Tables(0).DefaultView.Count = 0 Then SetVisibility(DataGrid1, False) SetVisibility(btnDelImage, False) SetVisibility(btnUpdatePicOrder, False) Else SetVisibility(DataGrid1, True) SetVisibility(btnDelImage, True) SetVisibility(btnUpdatePicOrder, True) End If 'Clean up objDSet.Dispose() End Sub #End Region