我正在轉換爲C#的舊VB6.0應用程序。在應用程序中查詢了許多SQL Server視圖。我在VB6.0和C#中傳遞相同的SELECT語句來查詢視圖。我還提供了每種語言中完全相同的WHERE子句,並且沒有ORDER BY子句。視圖確實包含自己的ORDER BY子句。以不同順序返回的SQL結果集爲VB6與C#
在VB6.0中,結果集始終以相同的順序返回,在C#中,結果集始終以相同的順序返回。但是,返回到VB6.0和C#的訂單不匹配。我可以通過VB6.0查詢,然後在幾秒鐘後通過C#查詢,結果集的順序不同。
什麼可能導致結果集訂單不同?我需要將從新C#代碼生成的一些輸出文件與VB6.0代碼進行比較以進行驗證,所以我想要讓結果集以相同順序返回,或者至少了解爲什麼結果集訂單在VB6.0和C#之間不匹配,但在從同一種語言調用時總是匹配。
提示:按視圖排序可能無法按預期工作:http://stackoverflow.com/questions/15187676/create-a-view-with-order-by-clause –
由於您正在重寫應用程序,因此您可以從使用ORM中受益。 –