我想编辑从数据库读取的值。我读的代码是:(这是在我的Page_Load中)ASP.NET:无法更新从数据库读取的值
string uname = Session["ApplicantUsername1"].ToString();
txtUsername.Text = uname;
cs.Open();
SqlCommand cmd = new SqlCommand("SELECT NoALastName, NoAFirstName, NoAMiddleName FROM CustomerCreditReport WHERE ApplicantUsername = '" + uname + "'", cs);
SqlDataReader reader = cmd.ExecuteReader();
while (reader.Read())
{
txtLname.Text = reader["NoALastName"].ToString();
txtFname.Text = reader["NoAFirstName"].ToString();
txtMname.Text = reader["NoAMiddleName"].ToString();
}
cs.Close();
reader.Close();
现在,这是我保存/更新代码。 (这是在Save_Click下)
SqlDataAdapter da = new SqlDataAdapter();
da.UpdateCommand = new SqlCommand("UPDATE CustomerCreditReport SET NoALastName = @NoALastName, NoAFirstName = @NoAFirstName, NoAMiddleName = @NoAMiddleName WHERE ApplicantUsername = '" + txtUsername.Text + "'", cs);
da.UpdateCommand.Parameters.Add("@NoALastName", SqlDbType.VarChar).Value = txtLname.Text;
da.UpdateCommand.Parameters.Add("@NoAFirstName", SqlDbType.VarChar).Value = txtFname.Text;
da.UpdateCommand.Parameters.Add("@NoAMiddleName", SqlDbType.VarChar).Value = txtMname.Text;
cs.Open();
da.UpdateCommand.ExecuteNonQuery();
cs.Close();
我想知道我是否忽视了某些东西。请帮忙。谢谢。
你有什么问题?你有什么异常吗? –
此外,您仍然容易受到SQL注入的影响。你也应该参数化你的where子句。 –
为什么你使用DataAdapter?只需使用普通的sqlcommand /连接 – Gusman