Hi all
I am trying to build a dynamic gridview in a page, everything is working properly until I edit a record and press Update, when I do, it takes the old values.
my code in the updating event is:
Private Sub GridView1_RowUpdating(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.GridViewUpdateEventArgs) Handles GridView1.RowUpdating
Dim con As New SqlConnection(ConnectionStrings("Test").ToString)
Try
Dim row = GridView1.Rows(e.RowIndex)
Dim tran As SqlTransaction
Dim da As New SqlDataAdapter
Dim strENo, strEName, strDob, strSalary, strDNo As String
strENo = (CType((row.Cells(0).Controls(0)), TextBox)).Text
strEName = (CType((row.Cells(1).Controls(0)), TextBox)).Text
strDob = (CType((row.Cells(2).Controls(0)), TextBox)).Text
strSalary = (CType((row.Cells(3).Controls(0)), TextBox)).Text
strDNo = (CType((row.Cells(4).Controls(0)), TextBox)).Text
If con.State = ConnectionState.Closed Then con.Open()
tran = con.BeginTransaction
Dim comUpt As New SqlCommand("SP_UPDATE_EMP", con)
comUpt.CommandType = CommandType.StoredProcedure
comUpt.Parameters.Add(New SqlParameter("@Emp_no", SqlDbType.Char, 10)).Value = strENo
comUpt.Parameters.Add(New SqlParameter("@Emp_Name", SqlDbType.VarChar, 50)).Value = strEName
comUpt.Parameters.Add(New SqlParameter("@DOB", SqlDbType.DateTime, 8)).Value = strDob
comUpt.Parameters.Add(New SqlParameter("@Salary", SqlDbType.Decimal, 17)).Value = strSalary
comUpt.Parameters.Add(New SqlParameter("@D_No", SqlDbType.SmallInt, 2)).Value = strDNo
comUpt.Parameters.Add(New SqlParameter("@ErrNo", SqlDbType.SmallInt)).Direction = ParameterDirection.Output
comUpt.Transaction = tran
da.UpdateCommand = comUpt
da.Update(ds, "emp")
tran.Commit()
LoadGrid()
Catch ex As Exception
Finally
If con.State = ConnectionState.Open Then con.Close()
End Try
End Sub
can anybody advice me what should I do?