如何比较两个查询的结果

本文关键字:两个 查询 结果 比较 何比较 | 更新日期: 2023-09-27 18:25:10

我想比较两个查询结果,看看它们是否相同。如果结果相同,我想显示一个MessageBox;如果不做别的事情。

using (OracleCommand crtCommand = new OracleCommand(query1, conn1))
{
    string result1 = crtCommand.ExecuteScalar().ToString();
}
using (OracleCommand ctCommand = new OracleCommand("query2", conn1))
{
    string result2 = ctCommand.ExecuteScalar().ToString();
}
if (result1 == result2)
    MessageBox.Show("They are same");
else
    MessageBox.Show("They are not same");

如何比较两个查询的结果

您需要在using语句之外声明变量,以便它们在该范围之外可见。

如果两个查询都返回字符串输出,则可以使用字符串。Compare方法对它们进行比较,并根据输出有条件地执行您想要执行的操作。然而,你的要求不可能那么简单。你能进一步阐述你的问题吗?

您所需要做的就是在using块之外声明字符串,但仍然在using区块内部分配它们。

string result1;
string result2;
using (OracleCommand crtCommand = new OracleCommand(query1, conn1))
{
    result1 = crtCommand.ExecuteScalar().ToString();
}
using (OracleCommand ctCommand = new OracleCommand("query2", conn1))
{
    result2 = ctCommand.ExecuteScalar().ToString();
}
if (result1.Equals(result2))
    MessageBox.Show("They are same");
else
    MessageBox.Show("They are not same");

此外,我建议用.Equals()替换==,如果你愿意,你可以设置选项使其也不区分大小写,这样THISthis就被认为是相等的

if (result1.Equals(result2, StringComparison.OrdinalIgnoreCase))
    MessageBox.Show("They are same");
else
    MessageBox.Show("They are not same");