2012-02-13 93 views
0

我無法使用下面的代碼在C#中更新gridview。無法更新gridview

protected void grdreg_RowUpdating(object sender, GridViewUpdateEventArgs e) 
     { 
      SqlConnection con = new SqlConnection(connectionstring); 
      con.Open(); 
      HiddenField id = ((HiddenField)(grdreg.Rows[e.RowIndex].FindControl("lblid"))); 
      SqlCommand cmd = new SqlCommand("update NEW_TABLE SET [email protected]_NAME,[email protected]_NAME WHERE [email protected]", con); 
      cmd.Parameters.AddWithValue("@FIRST_NAME",((TextBox)(grdreg.Rows[e.RowIndex].FindControl("txtfname"))).Text); 
      cmd.Parameters.AddWithValue("@LAST_NAME",((TextBox)(grdreg.Rows[e.RowIndex].FindControl("txtlname"))).Text); 
      cmd.Parameters.AddWithValue("@ID", id.Value); 
      cmd.ExecuteNonQuery(); 
      cmd.Dispose(); 
      grdreg.EditIndex = -1; 
      con.Close(); 
      fillgridview(); 

     } 

當我更新的文本框的值和調試代碼,它會顯示文本框的前一個值未更新的價值。

請確實需要。

+0

我想在這裏你正在更新值並從數據庫中再次選擇。爲此,您可以簡單地編寫以下代碼並將數據與選擇查詢綁定。請檢查選擇查詢,更新字符串等。如果您披露'fillgridview();' – kbvishnu 2012-02-13 11:43:13

+0

您是否可以在隱藏字段中獲取值,並且您的ID列是整數?如果是,那麼首先將隱藏的字段值轉換爲整數並嘗試.... – 2012-11-05 12:18:09

回答

0

好像你正在使用RowUpdating事件。使用RowUpdated事件從控件獲取更新的值。在RowUpdating事件期間,控件值尚未更新。