QSqlRecord在對應字段值為null時,QSqlRecord::value返回的QVariant是有效但為null(相當於使用QVariant(Type type)構造的),所以此時做對應類型的轉換是可以成功的(如toInt)。。。轉換後null結果會變成一個具體數值(如0),這樣很可能導致程序出現錯誤(通常用-1作為無效值,0可能就會讓實際為null的情況誤入正常流程),使用QSqlRecord::value前對於可能為null的字段記得先調QSqlRecord::isNull判斷下或者也可以調QVariant::isNull判斷。