由於沒有滿足我查詢的所有條件的記錄,所以我的查詢不返回任何內容,而是一個空行。然而,Rows.Count是1,而不是0。這裏是我的查詢:當返回的數據集由一個空行組成時,Rows.Count = 1
SELECT LicenseID
FROM LICENSES
WHERE LicenseType = @LicenseType
AND DriverID = @DriverID
AND CarID IN(
SELECT CarID
FROM CARS
WHERE CarSerial = @CarSerial
AND DriverID = @DriverID
) AND LicenseID IS NOT NULL
AND ((StartDate <= CONVERT(DATETIME, @EndDate))
AND (EndDate >= CONVERT(DATETIME, @StartDate)))
這裏是我的C#的if語句的條件,由於某種原因一直是真正由於行數,即使沒有記錄會議標準:
if (ds != null && ds.Tables[0].Rows.Count > 0)
使用的數據庫是SQL Server。這在以前似乎在Oracle下正常工作。
空行仍然是一行。在sql中嘗試一些isnull? – Trey
如果沒有滿足查詢條件的記錄,那麼您的查詢將返回***零行,而不是空行。所以,顯然,你做錯了什麼。 –
如果你得到1行返回,你能看到什麼值?也許這將有助於排查問題。基本上,當這行代碼正在執行時,它有一行數據,所以找出它是什麼。 – Jason