機房那些事兒 犯錯之實時錯誤 94

2021-07-26 03:36:25 字數 1828 閱讀 7645

最近,在敲操作員工作記錄的時候出現了這樣的錯誤---實時錯誤『94』無效使用null值。經查詢:資料庫中,某一字段中為空時就顯示null,但在vb裡,要顯示這一字段,就會出現實時錯誤94,無效使用null的狀況

針對這個問題,我檢視了下資料庫中的worklog_info表,果真是有空值的地方,但是他為什麼會有空值呢,可以讓他禁止出現空值嗎,這樣的話不就可以防止這種問題的出現了嘛!

於是乎,我檢視了下worklog_info表中引數的屬性,做法:右擊worklog_info表,選擇設計

按照**顯示,各引數都是允許null值的,但是只要在查詢過程中遇到空值的話就會報錯

解決方案一:最簡單的方法就是將所有引數的允許null值取消打勾,就是不允許有空值,但是這樣做的缺點是填充**的時候必須每個空都有值。

解決方案二:

按照作者的說法,如果出現報錯的情況,只需在有空值的引數後面加上「&」就可以了

do while not mrc.eof  

.rows = .rows + 1

.cellalignment = 4

.textmatrix(.rows - 1, 0) = mrc.fields(0)

.textmatrix(.rows - 1, 1) = mrc.fields(1)

.textmatrix(.rows - 1, 2) = mrc.fields(2)

.textmatrix(.rows - 1, 3) = mrc.fields(3)

.textmatrix(.rows - 1, 4) = mrc.fields(4)

.textmatrix(.rows - 1, 5) = mrc.fields(5) & ""

.textmatrix(.rows - 1, 6) = mrc.fields(6) & ""

.textmatrix(.rows - 1, 7) = mrc.fields(7)

.textmatrix(.rows - 1, 8) = mrc.fields(8) '顯示true或是false

mrc.movenext

loop

解決方案三:

為了保證欄位為空時不報錯,則出現乙個語句來判斷該欄位是否為空,為空則顯示「 」,否則顯示這個欄位的內容。

if isnull(mrc.fields(5)) then  

.textmatrix(.rows - 1, 3) = ""

else

.textmatrix(.rows - 1, 3) = mrc.fields(5).value '登出日期

end if

if isnull(mrc.fields(6)) then

.textmatrix(.rows - 1, 4) = ""

else

.textmatrix(.rows - 1, 4) = mrc.fields(6).value '登出時間

end if

if isnull(mrc.fields(7)) then

.textmatrix(.rows - 1, 5) = ""

else

.textmatrix(.rows - 1, 5) = mrc.fields(7).value '機器名

end if

解決方案四:直接刪除有空值的行

解決方案五:將有空值的地方填上

機房那些事兒 組合查詢

機房收費系統其實真正敲起來也並沒有辣麼難,他前面好些內容跟學生管理系統都是類似的,但是組合查詢就不一樣了,可以算是乙個新知識吧!下面,我們先來簡單分析一下這個視窗 一.判斷第1行查詢條件是否為空,若不為空且組合關係4為空,查詢結果符合第1行查詢的內容 二.組合關係4不為空,第2行查詢條件不能為空,查...

機房那些事兒 配置ODBC問題集錦

這篇文章主要寫配置odbc時候遇到的問題以及解決方案,希望能夠幫到大家 錯誤一 sql server 錯誤 2和sql server 錯誤 17 配置odbc時有這一步,此時需要輸入自己安裝資料庫時設定的賬號和密碼,此時,如果輸入不正確就會報錯sql server 錯誤 2和sql server 錯...

鏈結那些事兒

鏈結,就是將不同部分的 和資料收集和組合成為乙個單一檔案的過程,這個檔案可被載入到儲存器中執行。鏈結可以執行於編譯時 compile time 也就是源 被翻譯成機器 時 eg.普通的鏈結器鏈結,以及靜態鏈結庫,由靜態鏈結器鏈結 也可以執行於載入時 例如動態鏈結庫的載入時鏈結 也可以執行於執行時 r...