我有以下的Try语句,尽管写入数据库的值太大,在此之后的所有内容都不会运行。 我应该宁愿使用Exit Try而不是Exit Sub?退出尝试与退出子
Try
Dim conn As OracleConnection
Dim cmdProduction As New OracleCommand
conn = GetConnect()
conn.Open()
cmdProduction.Connection = conn
cmdProduction.CommandText = "INSERT INTO PRODUCTION (DateTime, Plant, Runhours, Tons, Shift, Sft, Plant_Ord) Values ('" & DateTime & "','FM1-Selox','" & (seloxRuntime/60) & "','" & seloxTons & "','" & theShift & "','" & sft & "','51')"
cmdProduction.ExecuteNonQuery()
Catch ex As Exception
WriteToFile("Production - Production : Database Error : " & ex.Message)
conn.Close()
Exit Sub
Finally
conn.Close()
End Try
你最大的问题是'赶上例外'。别。永远。抓住。例外。这是糟糕的编程。你不妨在你的代码中使用'Goto'。总是要捕捉特定的例外,只有你**可以正确处理。 – Enigmativity 2015-04-02 08:43:23
这段代码还有另一个主要问题:SQL注入=> [给我参数化的SQL,或者给我死亡](http://blog.codinghorror.com/give-me-parameterized-sql-or-give-me -death /) – 2015-04-02 09:16:07