C# 如何比较两个查询的结果?

C# 如何比较两个查询的结果?,c#,string-comparison,C#,String Comparison,我想比较两个查询结果,看看它们是否相同。如果结果相同,我想显示一个消息框;如果你不做别的事 using (OracleCommand crtCommand = new OracleCommand(query1, conn1)) { string result1 = crtCommand.ExecuteScalar().ToString(); } using (OracleCommand ctCommand = new OracleCommand("query2", conn1)) {

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

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");

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

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

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

如果两个查询都返回字符串输出,您可以使用string.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");
另外,我建议将
==
替换为,如果需要,您可以设置选项使其不区分大小写,因此
被视为相等

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

您所需要做的就是在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");
另外,我建议将
==
替换为,如果需要,您可以设置选项使其不区分大小写,因此
被视为相等

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

如果我在using语句外部声明变量,它们将可见,但我的ctCommand和crtCommand将不可见…如果我在using语句外部声明变量,它们将可见,但我的ctCommand和crtCommand将不可见。。。