0
非常感謝您爲我的應用程序中的一個錯誤提供一些幫助,這些錯誤令我困惑!SQL SELECT COUNT(*)有時會返回數據
我檢查中包含的人的,將personId我期待了使用表格的行數:
cmd.commandtext = "SELECT Count (*) from PeopleDetails where PersonID = '11111'"
count = cmd.executescalar()
這個工程的98%的時間。 偶爾計數變量有被查詢的行的第一列的數據,這是表中稱爲rowid的GUID。它沒有滿足條件的行數的預期整數。連接處於活動狀態,如果查詢重複,則返回正確的計數值。
當服務器是早上最繁忙的第一件事情時,對數據庫有多個同時查詢時,可以看到這種情況。
最受歡迎的幫助!
SQL server 2003,vb.net
感謝您的期待!
你有沒有其他的SQL語句在相同的方法,cmd.commandtext可能返回第一列? – Adil 2015-03-13 12:56:15
這不是你的真實代碼。你如何傳遞PersonID值?還有其他幾行代碼與db進行交互?請顯示更多的上下文。有了這麼幾行代碼,就沒有可能獲得記錄的行爲 – Steve 2015-03-13 13:00:41
您是否爲每個命令創建了一個新的'SqlConnection'?這看起來像你正在重複使用來自多個線程的相同的'SqlConnection'。 – Luaan 2015-03-13 13:07:17