I am working on an old VB6.0 application that is being converted to C#. There are a number of SQL Server Views that are queried in the application. I am passing the same SELECT statements in VB6.0 and C# to query the Views. I am also providing exactly the same WHERE clause in each language, and no ORDER BY clause. The views do contain their own ORDER BY clauses.
In VB6.0, the result set consistently comes back in the same order, and in C# the result set consistently comes back in the same order. However, the orders returned to VB6.0 and C# do not match. I can query through VB6.0 and then query a few seconds later through C#, and the result sets are in different orders.
What could be causing the result set orders to be different? I am needing to compare some output files generated from the new C# code to the VB6.0 code for validation, so I would like to either have the result sets come back in the same order for both, or at least understand why the result set orders do not match between VB6.0 and C#, but always match each other when called from the same language.