我正在开发一个旧的 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# 之间的顺序不匹配,但从相同语言调用时总是相互匹配。