【正文】
014 If dtResult Is Nothing Then0015 Return clsResult0016 End If0017 If 0 Then0018 OEMPN = (0)(FRUNO).ToString()0019 Else0020 OEMPN = 0021 End If0022 = 10088 注釋:后面看到 0023 Return clsResult0024 Catch ex As Exception0099 注釋:程序異常也看到 0025 = 10026 Return clsResult0028 Throw ex0027 End TryEnd Function注意上面的兩句代碼:0088行和0099行。 數(shù)據(jù)庫(kù)打開(kāi)連接,未關(guān)閉不會(huì)影響到整個(gè)應(yīng)用程式。他們會(huì)遇到什么樣的問(wèn)題,我不妨總結(jié)給大家:1. 數(shù)據(jù)庫(kù)連接超時(shí)2. 創(chuàng)建的對(duì)象只管用,不管釋放3. 調(diào)試(Debug)模式下編譯后,就用于應(yīng)用環(huán)境中了4. 實(shí)際作業(yè)模式分享上面的問(wèn)題就像毒瘤,積累到一定程度就爆發(fā),且影響深遠(yuǎn)。.NET開(kāi)發(fā)者常會(huì)忽略的幾個(gè)錯(cuò)誤在運(yùn)用Visiol 開(kāi)發(fā)Web 應(yīng)用程式中,開(kāi)發(fā)者常常會(huì)遇到一些問(wèn)題:如我開(kāi)發(fā)好的程式,在開(kāi)發(fā)環(huán)境下測(cè)試沒(méi)問(wèn)題,怎么一搬到應(yīng)用環(huán)境下,就會(huì)有問(wèn)題? 不是程式的無(wú)法運(yùn)行,就是程式的效率慢的同蝸牛在爬, 。 一、數(shù)據(jù)庫(kù)連接超時(shí)篇若要知道數(shù)據(jù)庫(kù)連接超時(shí)問(wèn)題,先看下面一段代碼:[Sample01]:Public Shared Function getOEMPN(ByVal psPN As String, ByRef OEMPN As String) As BSResult0001 Dim clsResult As New BSResult0002 Try0003 = 10004 Dim dtResult As New DataTable0005 Dim Sql As String = 0006 Dim clsOraDb As New clsOraClienDb0007 Dim strConn As String = (ConnectionString).ConnectionString0008 (strConn) ‘這里Open后,后面看不到 0009 Sql = SELECT FRUNO FROM SATBMMBRND WHERE = :MATNO0010 Dim params() As OracleParameter = {New OracleParameter(MATNO, psPN)}0011 If (Sql, dtResult, params) = False Then0012 Return clsResult0013 End If0014 If dtResult Is Nothing Then0015 Return clsResult0016 End If0017 If 0 Then0018 OEMPN = (0)(FRUNO).ToString()0019 Else0020 OEMPN = 0021 End If0022 = 10023 Return clsResult0024 Catch ex As Exception0025 = 10026 Return clsResult0027