C# 一天修改一次密码的可能性
C# Possibility to change password one time per day
我必须写一个代码来更改密码
if (txtNewPassword.Text == txtConfirmPassword.Text)
{
mSQL = "SELECT * FROM User WHERE userName = '" + txtUserName.Text + "' AND password = '" + txtPassword.Text + "'";
mDT_Save = mDBHelper.GetTable(mSQL);
if (mDT_Save.Rows.Count > 0)
{
for (int i = 0; i < mDT_Save.Rows.Count; i++)
{
mSQL = "UPDATE User SET password = '" + txtConfirmPassword.Text + "' WHERE userName = '" + Convert.ToString(mDT_Save.Rows[i]["userName"]) + "'";
mDBHelper.ExecuteSQLNonQuery(mSQL);
}
MessageBox.Show("Password Changed Successfully");
txtPassword.Text = txtConfirmPassword.Text;
return;
}
else
{
MessageBox.Show("User Not Found");
return;
}
}
这样用户可以随时更改密码,但我希望用户每天只能更改一次密码。这个条件怎么写?
您需要向用户添加一个新列 table,您在其中存储一个 DateTime 值以及最后一次更改密码的 DateTime。
您可以使用此函数获取实际的日期时间:
DateTime.Now
现在,如果您想检查自上次更改密码后是否已过去 24 小时,请按以下步骤操作:
private bool CanChangePassword()
{
DateTime dt = //value from database (last password change);
DateTime now = DateTime.Now;
if (dt == DateTime.MinValue || now > dt.AddHours(24))
{
return true;
}
return false;
}
使用DateTime changedpassworddate = DateTime.now();
获取当前日期并将其放入变量中。
将此变量存储在您的数据库中。
下次用户输入密码时,您可以从数据库中获取日期时间,将其与当前日期时间进行比较,如下所示:
if(DateTime.now() < changedpassworddate.AddDays(1))
{your abort code}
else
{your continue code}
使用添加天数的方法意味着用户每 24 小时只能更改一次密码。所以在 23:59 更改它然后在 0:01 更改它是行不通的。
我必须写一个代码来更改密码
if (txtNewPassword.Text == txtConfirmPassword.Text)
{
mSQL = "SELECT * FROM User WHERE userName = '" + txtUserName.Text + "' AND password = '" + txtPassword.Text + "'";
mDT_Save = mDBHelper.GetTable(mSQL);
if (mDT_Save.Rows.Count > 0)
{
for (int i = 0; i < mDT_Save.Rows.Count; i++)
{
mSQL = "UPDATE User SET password = '" + txtConfirmPassword.Text + "' WHERE userName = '" + Convert.ToString(mDT_Save.Rows[i]["userName"]) + "'";
mDBHelper.ExecuteSQLNonQuery(mSQL);
}
MessageBox.Show("Password Changed Successfully");
txtPassword.Text = txtConfirmPassword.Text;
return;
}
else
{
MessageBox.Show("User Not Found");
return;
}
}
这样用户可以随时更改密码,但我希望用户每天只能更改一次密码。这个条件怎么写?
您需要向用户添加一个新列 table,您在其中存储一个 DateTime 值以及最后一次更改密码的 DateTime。
您可以使用此函数获取实际的日期时间:
DateTime.Now
现在,如果您想检查自上次更改密码后是否已过去 24 小时,请按以下步骤操作:
private bool CanChangePassword()
{
DateTime dt = //value from database (last password change);
DateTime now = DateTime.Now;
if (dt == DateTime.MinValue || now > dt.AddHours(24))
{
return true;
}
return false;
}
使用DateTime changedpassworddate = DateTime.now();
获取当前日期并将其放入变量中。
将此变量存储在您的数据库中。
下次用户输入密码时,您可以从数据库中获取日期时间,将其与当前日期时间进行比较,如下所示:
if(DateTime.now() < changedpassworddate.AddDays(1))
{your abort code}
else
{your continue code}
使用添加天数的方法意味着用户每 24 小时只能更改一次密码。所以在 23:59 更改它然后在 0:01 更改它是行不通的。