2017-12-01 7 views
0

データベースからテキストボックスにデータを読み込むASP.NET Webフォームがあります。ユーザはフォーム(すなわちパスワード)の値を変更し、送信ボタンを押して自分のアカウント情報を更新する。ここで問題となるのは、テキストボックス内でデータが変更された場合、以下のメソッドは変更された値を読み取るのではなく、元の値だけを見ることです。 Textbox_field.Textがコントロールの現在の値を取得しない理由はわかりません。送信時に更新されたASP.NETテキストボックスを読み取ることができません

私はここで間違っていますか?私はIsPostbackを使ってみましたが、成功しませんでした。

ありがとうございました。

protected void Button_Save_Click (object sender, EventArgs e) 
{ 
     using (SqlConnection conn = new SqlConnection (_connectionString)) 
     { 
      conn.Open(); 

      string firstName = TextBox_FirstName.Text; 
      string lastName = TextBox_LastName.Text; 
      string email = TextBox_Email.Text; 
      string login = TextBox_Username.Text; 
      string password = TextBox_Password.Text; 
      int userID = Convert.ToInt32 (Session ["UserID"]); 

      string sql = "update Auth_Users"       
         + $" set FirstName='{firstName}', LastName='{lastName}', Email='{email}', Login='{login}', Password='{password}'"        
         + $" where ID={userID}"; 

      using (SqlCommand command = new SqlCommand (sql, conn))     
      {     
       command.ExecuteNonQuery();     
      } 

      conn.Close();   
     } 
} 
+0

適切なSQL UPDATE文を検索します。この構文 '' {firstName} ''などは間違っています。 – wazz

答えて

0
string sql = "update Auth_Users set [email protected], [email protected]"        
         + " where [email protected]"; 

using (SqlCommand command = new SqlCommand (sql, conn))     
      { 
       command.parameters.AddWithValue("@FirstName", FirstName) 
       command.parameters.AddWithValue("@LastName", LastName) 
       command.parameters.AddWithValue("@UserId", userID) 
       command.ExecuteNonQuery();     
      } 
関連する問題