C# 如何从mysql查询中存储对象max(date)和min(date)

C# 如何从mysql查询中存储对象max(date)和min(date),c#,mysql,datetime,max,min,C#,Mysql,Datetime,Max,Min,我是C#的新手,从未存储过mysql查询中的对象。我声明了2个Datetimes变量: DateTime date_min DateTime date_max 我想从下面的查询中存储最大(日期)和最小(日期) string query1 = "SELECT MIN(order_status.BEGIN_DATE) AS 'BEGIN DATE', MAX(order_status.END_DATE) AS 'END DATE' FROM project1.order_status INNER

我是C#的新手,从未存储过mysql查询中的对象。我声明了2个Datetimes变量:

DateTime date_min
DateTime date_max
我想从下面的查询中存储最大(日期)和最小(日期)

string query1 = "SELECT MIN(order_status.BEGIN_DATE) AS 'BEGIN DATE', MAX(order_status.END_DATE) AS 'END DATE' FROM project1.order_status INNER JOIN project1.orders ON orders.ID_ORDER = order_status.ID_ORDER WHERE orders.NUMBER_ORDER = 'TEST';";
比如:
max(日期)=max(订单状态.结束日期)

我想在这个循环中使用它:

    for (DateTime date = date_min; date <= date_max; date = date.AddDays(1))
    {             
        string query2 = "SELECT COUNT(leave.ID_PRACOWNIKA) AS 'NUMBER OF WORKERS ON LEAVE' FROM project1.leave WHERE DATE(leave.BEGIN_DATE) <= '"+date+"' AND DATE(leave.END_DATE) >= '"+date+"';";
        string query3 = "SELECT TIME_FORMAT(SEC_TO_TIME(SUM(TIME_TO_SEC(order_status.END_DATE) - TIME_TO_SEC(order_status.BEGIN_DATE))), '%H:%i:%s') AS 'TIME OF ALL ORDERS IN DAY' FROM project1.order_status INNER JOIN project1.orders ON orders.ID_ORDER = order_status.ID_ORDER WHERE (DATE(order_status.BEGIN_DATE) = '"+date+"' AND DATE(order_status.END_DATE) = '"+date+"');";
        string query4 = "SELECT TIME_FORMAT(SEC_TO_TIME(SUM(TIME_TO_SEC(order_status.END_DATE) - TIME_TO_SEC(order_status.BEGIN_DATE))), '%H:%i:%s') AS 'TIME OF ORDER IN DAY' FROM project1.order_status INNER JOIN project1.orders ON orders.ID_ORDER  = order_status.ID_ORDER WHERE (DATE(order_status.BEGIN_DATE) = '"+date+"' AND DATE(order_status.END_DATE) = '"+date+"') AND orders.NUMBER_ORDER = 'TEST';";
    }
for(DateTime-date=date\u-min;date可用于检索以下值

using (MySqlConnection connection = new MySqlConnection(connectionString))
{
using(var command = new MySqlCommand(query1, con))
{
    using(var reader = command.ExecuteReader())
    {
       while (reader.Read())
       {
        date_min = Convert.ToDateTime(reader[0]);
        date_max = Convert.ToDateTime(reader[1]);
       }
    }
}
}
希望有帮助。

您可以使用以下方法检索值

using (MySqlConnection connection = new MySqlConnection(connectionString))
{
using(var command = new MySqlCommand(query1, con))
{
    using(var reader = command.ExecuteReader())
    {
       while (reader.Read())
       {
        date_min = Convert.ToDateTime(reader[0]);
        date_max = Convert.ToDateTime(reader[1]);
       }
    }
}
}

希望能有所帮助。

好的,但是你写的这个我应该添加到我的代码中还是在我的代码之后?好的,但是你写的这个我应该添加到我的代码中还是在我的代码之后?
using (MySqlConnection connection = new MySqlConnection(connectionString))
{
using(var command = new MySqlCommand(query1, con))
{
    using(var reader = command.ExecuteReader())
    {
       while (reader.Read())
       {
        date_min = Convert.ToDateTime(reader[0]);
        date_max = Convert.ToDateTime(reader[1]);
       }
    }
}
}