我正在处理一个旧的VB6.0应用程序,该应用程序正在转换为C#.在应用程序中查询了许多SQL Server视图.我在VB6.0和C#中传递相同的SELECT语句来查询视图.我也在每种语言中提供完全相同的WHERE子句,并且没有ORDER BY子句.视图确实包含自己的ORDER BY子句.
在VB6.0中,结果集始终以相同的顺序返回,而在C#中,结果集始终以相同的顺序返回.但是,返回VB6.0和C#的订单不匹配.我可以通过VB6.0查询,然后几秒钟后通过C#查询,结果集的顺序不同.
可能导致结果集订单不同的原因是什么?我需要将从新C#代码生成的一些输出文件与VB6.0代码进行比较以进行验证,因此我希望结果集以相同的顺序返回两者,或者至少理解为什么结果集VB6.0和C#之间的顺序不匹配,但是当使用相同的语言调用时,它们总是相互匹配.