MySqlConnection con = GetConnection();
string sql = "SELECT COUNT(ID) FROM booking WHERE DATE(Booking_Date) = CURDATE()";
string sql2 = "SELECT SUM(Fare) FROM booking WHERE DATE(Booking_Date) = CURDATE()";
MySqlCommand cmd = new MySqlCommand(sql, con);
cmd.CommandType = System.Data.CommandType.Text;
MySqlDataReader BookingToday = cmd.ExecuteReader();
while (BookingToday.Read())
{
label6.Text = BookingToday.GetValue(0).ToString();
}
这是我的C#代码,我想运行两个给定的查询,以获得结果一次。但我不知道如何运行多个数据读取器在一个连接或运行2个连接一次。任何人都请帮助我在这方面
3条答案
按热度按时间3pmvbmvn1#
可以使用一个查询:
mlnl4t2r2#
在此特定情况下:您不需要这样做-您可以使用slaakso答案中显示的代码在一个查询中执行两个聚合。
在更一般的情况下:
即按顺序且不重叠(除非您的提供商支持“MARS”的等效功能)。
您还可以经常在单个命令中发出多个查询(
select
);使用NextResult()
在它们之间移动:yvfmudvl3#
不能从单个连接同时打开多个数据读取器。
如果需要单个结果,可以使用ExecuteScalar。
对于多行结果,可以将其存储在DataTable中。