在線客服
24小時免費咨詢電話:18978941786
客服時間:上午9:30~下午6點
.NET開發網站過程中易被忽視的問題
收藏 分享 發布日期:2012-2-12 16:30:44 編輯:admin 文章來源: 點擊率:
[Sample-02]
Foreach(DataRow row in tabl.select(“”,”ProductID”)
……………
clsOraDb.Open(strConn)
………….
Next
有人還喜歡玩下面的語句:
[Sample-03]
Foreach(DataRow row in tabl.select(“”,”ProductID”)
Foreach(DataColumn col in tbl.columns)
……………
clsOraDb.Open(strConn)
Next
………….
Next
說到這,有人就問啦,我在開發環境下測試一點問題都沒有呀?是呀,你是沒有問題,我想問的是,你開發環境的測試數據有幾筆?
現在,問題已經知道在哪里,怎么解決?
針對[sample-01]做如下處理,注意下面代碼:
Public Shared Function getOEMPN(ByVal psPN As String, ByRef OEMPN As String) As BSResult
0001 Dim clsResult As New BSResult
0002 Try
0003 clsResult.ResultID = -1
0004 Dim dtResult As New DataTable
0005 Dim Sql As String = String.Empty
0006 Dim clsOraDb As New clsOraClienDb
0007 Dim strConn As String = ConfigurationManager.ConnectionStrings("ConnectionString").ConnectionString
0008 clsOraDb.Open(strConn) 注釋:這里Open后,后面看不到 clsOraDb.Close
0009 Sql = "SELECT SATBMMBRND.OEMPN FRUNO FROM SATBMMBRND WHERE SATBMMBRND.MATNO = :MATNO"
0010 Dim params() As OracleParameter = {New OracleParameter("MATNO", psPN)}
0011 If clsOraDb.FillDataTable(Sql, dtResult, params) = False Then
0012 Return clsResult
0013 End If
0014 If dtResult Is Nothing Then
0015 Return clsResult
0016 End If
0017 If dtResult.Rows.Count > 0 Then
0018 OEMPN = dtResult.Rows(0)("FRUNO").ToString()
0019 Else
0020 OEMPN = ""
0021 End If
0022 clsResult.ResultID = 1
0088 clsOraDb.Close 注釋:后面看到 clsOraDb.Close
0023 Return clsResult
0024 Catch ex As Exception
0099 clsOraDb.Close 注釋:程序異常也看到 clsOraDb.Close
0025 clsResult.ResultID = -1
0026 Return clsResult
0028 Throw ex
0027 End Try
End Function
注意上面的兩句代碼:0088行和0099行。
本文章由南寧網站建設、南寧網站優化、南寧網絡公司整理,轉載請注明出處:http://m.lidajijin.com/