在我的VB.Net程序中,我發現兩條警告顯示以下消息:函數返回問題?
函數不會在所有代碼路徑上返回一個值。使用結果時,運行時可能會發生空引用異常
幫助我在哪裏解決問題並解決問題。以下快照是在警告錯誤表示:
而杉杉,因爲在異常警告附近「端功能」
'Executes SQL commands to the system database
Public Function ExecSQL(ByVal sql As String)
Dim com As New MySqlCommand(sql)
Try
RefreshConnection()
com.Connection = con
com.ExecuteNonQuery()
Catch ex As Exception
Return ex
MsgBox(ex.Message, MsgBoxStyle.Critical, "Error")
End Try
End Function
第二華林近「端功能」
'Get the value of an specific field in a given sql string
Public Function GetField(ByVal sql As String, ByVal field As String)
Try
RefreshConnection()
Dim com As New MySqlCommand(sql, con)
Dim dReader As MySqlDataReader = com.ExecuteReader
While dReader.Read
GetField = dReader(field).ToString
End While
dReader.Close()
Catch ex As Exception
Return ex
MsgBox(ex.Message, MsgBoxStyle.Critical, "Error")
End Try
End Function
這段代碼有缺陷,在不相關的問題的重要途徑:它迫使你構建的方式SQL查詢,這將是可怕的脆弱到SQL注入攻擊。 **這實際上是乞求被黑客攻擊。** –
另外:單一共享連接在.Net中不是最佳的。相反,.Net依賴於稱爲連接池的功能,因此在大多數情況下,您應該爲每次調用數據庫使用新的連接對象。真。相反,只需保持一個共享連接_string_便於創建連接。 –
哦,並打開選項嚴格! –