在我的项目中,我想自动删除45天以上保持活动状态的帐户。为了测试目的,我花了2分钟时间并写下以下代码。但它不工作。任何人都可以告诉我如何执行“记录删除”,如果保持2分钟不活动。删除帐户保持45天不活动
我的代码如下。
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Data.Odbc;
public partial class _Default : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
string MyConString = "DRIVER={MySQL ODBC 3.51 Driver};" + "SERVER=localhost;" + "DATABASE=inactive;" + "UID=root;" + "PASSWORD=*********;" + "OPTION=3";
OdbcConnection MyConnection = new OdbcConnection(MyConString);
try
{
MyConnection.Open();
OdbcCommand cmd = new OdbcCommand("DELETE name FROM email WHERE date < DATE_SUB(NOW(), INTERVAL 2 MIN)", MyConnection);
MyConnection.Close();
Label1.Text = "Done";
}
catch (Exception ex)
{
Label1.Text = ex.ToString();
}
}
protected void Button1_Click(object sender, EventArgs e)
{
string MyConString = "DRIVER={MySQL ODBC 3.51 Driver};" + "SERVER=localhost;" + "DATABASE=inactive;" + "UID=root;" + "PASSWORD=*********;" + "OPTION=3";
OdbcConnection MyConnection = new OdbcConnection(MyConString);
try
{
MyConnection.Open();
OdbcCommand cmd = new OdbcCommand("Select name from email where email=?", MyConnection);
cmd.Parameters.Add("@email", OdbcType.VarChar, 255).Value = TextBox1.Text;
OdbcDataReader dr = cmd.ExecuteReader();
if (dr.HasRows == false)
{
throw new Exception();
}
if (dr.Read())
{
Response.Write(dr[0].ToString());
}
}
catch
{
}
}
}
更新时间:
首先,我创建了一个名为inactive
数据库和创建表email
。下面的截图说明了这个记录。
后来我用下面的代码..
protected void Page_Load(object sender, EventArgs e)
{
string MyConString = "DRIVER={MySQL ODBC 3.51 Driver};" + "SERVER=localhost;" + "DATABASE=inactive;" + "UID=root;" + "PASSWORD=******;" + "OPTION=3";
OdbcConnection MyConnection = new OdbcConnection(MyConString);
try
{
MyConnection.Open();
OdbcCommand cmd = new OdbcCommand("DELETE FROM email WHERE `date` < DATE_SUB(NOW(), INTERVAL 2 MINUTE)", MyConnection);
MyConnection.Close();
}
catch (Exception ex)
{
Label1.Text = ex.ToString();
}
}
不工作。这里的'date'是什么?我是否需要在数据库表中添加名为'date'的任何东西? – Mal
@Kars“日期”来自您的原始查询!我们都假设它在表中的一个字段,存储“最后活动”时间戳。是的,你必须在你的桌子上放置一个领域(你也必须适当地更新它)来达到你想要的效果! – ain
@卡尔斯,这是你的代码的副本,请不要傻。 – Johan