2016-02-28 40 views
-1

我想編輯從數據庫讀取的值。我讀的代碼是:(這是在我的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(); 

我想知道我是否忽視了某些東西。請幫忙。謝謝。

+0

你有什麼問題?你有什麼異常嗎? –

+0

此外,您仍然容易受到SQL注入的影響。你也應該參數化你的where子句。 –

+0

爲什麼你使用DataAdapter?只需使用普通的sqlcommand /連接 – Gusman

回答

1
在頁面加載

確保你把你的代碼,如果之後(!Page.IsPostBack) 這樣

if (!Page.IsPostBack) 
{ 
    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(); 
} 
+0

謝謝你。 :) – Edge

+0

好趕上...! –