1
如果從Access SQL查詢中找到的結果字段爲空,則以下函數將引發異常。Access SQL查詢返回空白記錄時防止出現異常
如果查詢變成空的,我只想retvalue =無,但我得到一個錯誤,說我不能給一個字符串賦一個空值。所以我把它放在一個catch中,但catch會滯後於應用程序,因爲這個函數經常被使用,並且查詢結果通常是空的。
一個例子的情況是:
checkRecord(「註釋」,「表1」,「名」,「史蒂夫」)
該函數返回備註字段的記錄與頭名錶1中的「Steve」的值。如果Steve的筆記是空的(他們通常是),則該函數將拋出關於將字符串轉換爲空的異常。
我該如何聲明retvalue =無,如果返回的數據庫記錄是空的,而不必做一個捕獲?
Public Shared Function CheckRecord(Table As String, refcol As String, refcolvalue As String, targetcol As String)
Dim retvalue As String
Using cn As New OleDbConnection(mystr)
cn.Open()
Dim custCMDcr As OleDb.OleDbCommand = New OleDb.OleDbCommand("SELECT [" & targetcol & "] FROM [" & Table & "] WHERE [" & refcol & "] =" & refcolvalue)
custCMDcr.Connection = cn
Try
retvalue = CType(custCMDcr.ExecuteScalar(), String).ToString
Catch fail As Exception
retvalue = Nothing
End Try
Return retvalue
End Using
End Function
使用IsDbNull測試返回值 – Plutonix