Nigol_Learner Ответов: 2

Как удалить данные из mysql, если более 3 дней?


string constr = @"Data Source=192.168.*.**; Database=wsditsupport; User ID=****; Password=*****";
            using (MySqlConnection con = new MySqlConnection(constr))
            {
                using (MySqlCommand cmd = new MySqlCommand("SELECT Date_Down FROM datalogin WHERE Date_Down < Date_Down(CURDATE(), INTERVAL 3 DAY"))
                {
                    using (MySqlDataAdapter sda = new MySqlDataAdapter())
                    {
                        cmd.Connection = con;
                        sda.SelectCommand = cmd;
                        if ((DateTime.Now - cmd).Days >= 3)
                        {
                            // Delete from database
                        }
                    }
                }


Что я уже пробовал:

Этот код-моя первая попытка, но мне нужна помощь?

Мне нужна ваша помощь, ребята. если ((Дата-Время.Теперь-cmd).Days >= 3) <<< в этой строке я получаю оператор ошибки '-' не может быть применен к операндам типа 'DateTime' и 'MySqlCommand'. Так как же это исправить?

2 Ответов

Рейтинг:
2

kedar001

пробовать

select * from datalogin  as mytable where datediff(now(), mytable.date) > 3


Рейтинг:
1

CHill60

Просто попросите MySQL сделать удаление одновременно с идентификацией записей для удаления

string constr = @"Data Source=192.168.*.**; Database=wsditsupport; User ID=****; Password=*****";
using (MySqlConnection con = new MySqlConnection(constr))
{
     using (MySqlCommand cmd = new MySqlCommand("delete from datalogin where datediff(now(), datedown) > 3;",con)
     {
          cmd.ExecuteNonQuery();            
     }
     con.Close();
}