ASP.NET - Problema en Update

   
Vista:

Problema en Update

Publicado por Cristian cvieille@yahoo.com (13 intervenciones) el 24/10/2013 16:16:18
Estimados,

hace muy poco he comenzado a programar en asp.net con vb, con el afan de aprender algo nuevo. Hace años programo en vb6 y php.

Pero ahora me he encontrado con algunos problemas en asp.net:
1.- He hecho los insert sin mayor problema en mis aplicaciones, pero al momento de realizar los update, no me actualiza los datos.

Lo que he visto es que tengo un cuadro de texto en el que cargue la información de la base de datos: ej: me.txt_nombre.text y carga un valor "Juan" pero al editarlo y escribir "juanito" en la consulta me sigue apareciendo valor= juan.

aca va mi codigo del load y del guardar:

Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
Dim id_usuario As String
id_usuario = Request.QueryString("id")

Me.txt_id.Text = id_usuario

If Me.txt_id.Text <> 0 Then
Dim cnnBaseDat As SqlClient.SqlConnection
Dim comBaseDat As SqlClient.SqlCommand
Dim adpBaseDat As SqlClient.SqlDataAdapter

Dim dstTablas As DataSet
cnnBaseDat = New SqlClient.SqlConnection
cnnBaseDat.ConnectionString = cadena_conexion
cnnBaseDat.Open()

Try

Dim consulta As String = "SELECT * FROM patologos where id=" & txt_id.Text
comBaseDat = New SqlClient.SqlCommand(consulta, cnnBaseDat)
adpBaseDat = New SqlClient.SqlDataAdapter(comBaseDat)
dstTablas = New DataSet
adpBaseDat.Fill(dstTablas, "MiTabla")


Dim tablas As Data.DataTable = dstTablas.Tables("MiTabla")
Dim filas As Data.DataRow = tablas.Rows(0)

Me.txt_rut.Text = filas.Item("rut")
Me.txt_digito.Text = filas.Item("digito")
Me.txt_nom_corto.Text = Trim(filas.Item("nom_corto"))
Me.txt_nombre.Text = Trim(filas.Item("nombre"))
Me.txt_apellidos.Text = Trim(filas.Item("apellidos"))

Catch ex As Exception
lbl_mensaje.Visible = True

lbl_mensaje.Text = ex.Message

End Try


End If
End Sub


Protected Sub cmd_guardar_Click(ByVal sender As Object, ByVal e As EventArgs) Handles cmd_guardar.Click
Dim cnnBaseDat As SqlClient.SqlConnection
Dim comBaseDat As SqlClient.SqlCommand



cnnBaseDat = New SqlClient.SqlConnection
cnnBaseDat.ConnectionString = cadena_conexion
cnnBaseDat.Open()

Try
Dim consulta As String

If txt_id.Text = 0 Then

consulta = "insert into patologos (rut, digito, nombre, apellidos, nom_corto) values('" & Me.txt_rut.Text + "','" & Me.txt_digito.Text + "','" & Me.txt_nombre.Text + "','" & txt_apellidos.Text + "', '" & txt_nom_corto.Text + "')"

Else

consulta = "UPDATE patologos SET rut ='" & Me.txt_rut.Text & "', digito ='" & Me.txt_digito.Text & "', nombre ='" & Me.txt_nombre.Text & "', apellidos ='" & Me.txt_apellidos.Text & "', nom_corto ='" & Me.txt_nom_corto.Text & "' where id=" & txt_id.Text

End If

comBaseDat = New SqlClient.SqlCommand(consulta, cnnBaseDat)
comBaseDat.ExecuteNonQuery()

Response.Redirect("frm_lista_patologos.aspx")

Catch ex As Exception
Me.lbl_mensaje.Visible = True
Me.lbl_mensaje.Text = ex.Message
End Try


End Sub

desde ya muchas gracias a todos!!!
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

Problema en Update

Publicado por omar pc.net.2018@hotmail.com (13 intervenciones) el 24/10/2013 16:43:51
Imports System.Data.SqlClient

Dim conexion As New SqlConnection("Data source=.;initial catalog=practica;Integrated security=true")

Funcion para modificar

''Modifica en la base de datos
Function modifica(ByVal sql As String)
Dim si As String = ""
Dim filafectada As Integer
Try


Dim cmdactualiza As New OleDbCommand(sql, conexion)

conexion.Open()
cmdactualiza.ExecuteNonQuery()
conexion.Close()
If filafectada >= 0 Then
si = "si"
'MsgBox("El registro fue modificado ", MsgBoxStyle.Information, " Atención")

End If
Catch ex As Exception
MsgBox("El registro no fue modificado ", MsgBoxStyle.Critical, " Atención")
conexion.Close()
End Try
Return si
End Function
'---------------------------------------------------------------------------------------------------------------------------

Para usar la funcion

modifica( "UPDATE patologos SET rut ='" & Me.txt_rut.Text & "', digito ='" & Me.txt_digito.Text & "', nombre ='" & Me.txt_nombre.Text & "', apellidos ='" & Me.txt_apellidos.Text & "', nom_corto ='" & Me.txt_nom_corto.Text & "' where id=" & txt_id.Text)




Si todavia no resuelves el problema enviame un email para apoyarte en tus proyectos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Problema en Update

Publicado por Cristian (13 intervenciones) el 24/10/2013 17:15:40
Gracias por la pronta respuesta.

te adjunto una imagen que aclara mejor lo que me pasa al momento de guardar.

yo le cambio por ejemplo el nombre o apellidos y al poner guardar, la consulta sigue enviando el valor anterior.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Problema en Update

Publicado por omar pc.net.2018@hotmail.com (13 intervenciones) el 24/10/2013 17:23:32
Checa que las variables que actualizas sean depenntienndo el campo de cadena y los de tipo numero
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar

Problema en Update

Publicado por o pc.net.2018@hotmail.com (13 intervenciones) el 24/10/2013 17:33:56
Parece que en el load

donde cargas los datos se muestran el el textobx

Creo que al pulsar guardar se sigue ejecutando el load

Pon una interrumcion en el load donde pusiste el codigo y veras que entra ahi antes de actualizar
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar

Problema en Update

Publicado por Cristian (13 intervenciones) el 24/10/2013 19:16:58
en visual basic 6 no existian variables para saber si es primera vez que pasa por el load.

aca encontre una instrucción, no se si sera la correcta "IsPostback" dice que tendria que colocarla como falso.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Problema en Update

Publicado por omar pc.net.2018@hotmail.com (13 intervenciones) el 24/10/2013 19:34:08
'Cuando no es un Postback

If Not IsPostBack Then

End If

Solo debes modificar algo como eso que puse

Cual quier otra duda enviame un email
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Problema en Update

Publicado por Cristian (13 intervenciones) el 24/10/2013 21:01:03
Muchas gracias omar, ahi te estaré molestando.

Esa era la solución.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar