考慮下面的代碼:的ExecuteReader返回結果,當檢查查詢確實
StringBuilder textResults = new StringBuilder();
using(SqlConnection connection = new SqlConnection(GetEntityConnectionString()))
{
connection.Open();
m.Connection = connection;
SqlDataReader results = m.ExecuteReader();
while (results.Read())
{
textResults.Append(String.Format("{0}", results[0]));
}
}
我用活動監視SQL Server管理Studio中的數據庫來檢查正被髮送的精確查詢。然後,我將該查詢文本複製到SSMS中的查詢編輯器窗口,查詢返回了預期的結果。但是,SqlDataReader results
始終爲空,表示「該枚舉未返回結果」。
我懷疑是不知何故結果沒有被正確地返回,這讓我覺得上面的代碼有問題,而不是查詢本身傳遞。
有沒有什麼會導致在上面的代碼?或者我忽略了什麼?
編輯:
這裏是通過SqlCommand對象指示的查詢:
SELECT DISTINCT StandardId,Number
FROM vStandardsAndRequirements
WHERE StandardId IN ('@param1','@param2','@param3')
ORDER BY StandardId
下面是查詢,它出現在活動監視器:
SELECT DISTINCT StandardId,Number
FROM vStandardsAndRequirements
WHERE StandardId IN ('ABC-001-0','ABC-001-0.1','ABC-001-0')
ORDER BY StandardId
查詢正在反對一個觀點。
當我對數據庫運行第二個查詢時,它返回了3行。
SqlDataReader指示0行。
也許你應該向我們展示查詢和表格的樣子,很難說沒有查詢/ DDL的失敗。上面的代碼是可以的。 – Matten 2011-02-09 01:07:35
謝謝,會做。 – morganpdx 2011-02-09 01:08:34