我在为作业分配用户密码时遇到问题。因为它需要有3个文本框,一个用于当前密码,另一个用于新密码,一个用于确认新密码。我尝试了其他方法,但没有更新。用户可以成功登录,但我无法更新密码。这是我登录部分的代码:
public static string settext = "";
public Admin_Login_Form()
{
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e)
{
SqlConnection con = new SqlConnection("Data Source=DESKTOP-CJGIQ74;Initial Catalog=logininfo;Integrated Security=True");
con.Open();
string newcom = "select Name from login where Name='" + textBox1.Text + "' AND password= '" + textBox2.Text + "'";
SqlDataAdapter adp = new SqlDataAdapter(newcom,con);
DataSet ds = new DataSet();
adp.Fill(ds);
DataTable dt = ds.Tables[0];
if (dt.Rows.Count>=1)
{
settext = textBox1.Text;
Admin_Main_Page Main = new Admin_Main_Page();
Main.Show();
this.Hide();
}
else
{
label5.Text = "Invalid Data";
}
}
这是我的注册部分:
private void SignUpAdmin_But_Click(object sender, EventArgs e)
{
SqlConnection con = new SqlConnection("Data Source=DESKTOP-CJGIQ74;Initial Catalog=logininfo;Integrated Security=True");
con.Open();
string newcom = "insert into login(Name,password,email,address,contact,creditcard) VALUES ('"+NameTxtb_Admin.Text+"','"+PasswordTxtb_Admin.Text + "','" + EmailTxtb_Admin.Text + "','" + AddressTxtb_Admin.Text + "','" + ContactTxtb_Admin.Text + "','" + CreditCardTxtb_Admin.Text + "')";
SqlCommand cmd = new SqlCommand(newcom , con);
cmd.ExecuteNonQuery();
MessageBox.Show("Congratulations… You've been registered!");
this.Close();
}
注意:通过浏览此站点,我知道我没有使用我刚刚注意到的参数。
每个人都知道此问题的代码是什么?
答案 0 :(得分:1)
如果您想更新用户密码,则看起来需要一条更新语句,例如:
update login set
Password = 'NewPassword'
where
name = 'usernameifunique' and
Password = 'theoldpassword';
此外,如果这只是家庭作业,我至少可以使用参数化查询来避免注入,我想你很好。您可以在github签出我的数据层,它对SQL的帮助无数次。