如何比较两个查询的结果
本文关键字:两个 查询 结果 比较 何比较 | 更新日期: 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()
替换==
,如果你愿意,你可以设置选项使其也不区分大小写,这样THIS
和this
就被认为是相等的
if (result1.Equals(result2, StringComparison.OrdinalIgnoreCase))
MessageBox.Show("They are same");
else
MessageBox.Show("They are not same");