Problemas con mis TextBox

10/12/2005 - 06:43 por Daniel H. Villa | Informe spam
Hola:

Tengo un problema serio al momento de insertar registros en una tabla de SQL
Server.

El modo de inserción esta bien, lo estoy haciendo con un stored procedure,
pero el problema, es que no me inserta los valores que tengo en mis textbox.

Al dar en el boton nuevo, me limpia mis textbox, les tecleo los nuevos
valores y al momento de dar boton Aceptar, lo guarda todo OK, pues no ya que
me guarda los valores del primer registro. No me toma los valores que yo
introduzco. Estuve debugeando y hay un momento que antes de ejecutar mi
inserción me toma los valores del primer registro. No se que esta pasando.

Paso parte de mi codigo, estoy trabajando con ASP.Net utilizando VB.Net

Public Sub btnNuevo_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles btnNuevo.Click

Me.txtAp_Mat.Text = ""

Me.txtAp_Pat.Text = ""

Me.txtLogin.Text = ""

Me.txtNombre.Text = ""

Me.txtPassword.Text = ""

End Sub


Public Sub btnAceptar_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles btnAceptar.Click

Insert_Usuario()

End Sub



Public Sub Insert_Usuario()

Cmd = New SqlCommand("sp_UsuarioInsert", SqlConnection)

Cmd.CommandType = CommandType.StoredProcedure

' Ap_Pat

Dim pAp_Pat = New SqlParameter("@Ap_Pat", SqlDbType.VarChar)

pAp_Pat.Value = Me.txtAp_Pat.Text

Cmd.Parameters.Add(pAp_Pat)

' Ap_Mat

Dim pAp_Mat = New SqlParameter("@Ap_Mat", SqlDbType.VarChar)

pAp_Mat.Value = Me.txtAp_Mat.Text

Cmd.Parameters.Add(pAp_Mat)

' Nombre

Dim pNombre = New SqlParameter("@Nombre", SqlDbType.VarChar)

pNombre.Value = Me.txtNombre.Text

Cmd.Parameters.Add(pNombre)

' Login

Dim pLogin = New SqlParameter("@Login", SqlDbType.VarChar)

pLogin.Value = Me.txtLogin.Text

Cmd.Parameters.Add(pLogin)

' Password

Dim pPassword = New SqlParameter("@Password", SqlDbType.VarChar)

pPassword.Value = Me.txtPassword.Text

Cmd.Parameters.Add(pPassword)

' ejecuta

Cmd.ExecuteNonQuery()

End Sub



Ojala y alguien encuentre la forma de que me respete la inserción sobre los
textbox que estoy cambiando


Salu2 :-)))

(""'·._.·L.I. Daniel Villa·._.·'"")

Preguntas similare

Leer las respuestas

#11 Daniel H. Villa
14/12/2005 - 20:47 | Informe spam
Hola Marckys:

Te refieres que al cargar el load donde incluyo las instrucciones:

Conexion = "Initial Catalog=Agencia;Data Source=dhvilla\misqlserver;user
id=sa;password =pal42pat"

SqlConnection = New SqlConnection(Conexion)

SqlConnection.Open()

Tot_Reg()

Obt_Array()

Cmd = New SqlCommand("Select TOP 1 * FROM tbl_Usuario Order By ID ASC",
SqlConnection)

Muestra_Datos()


Al regresar a mi pagina vuelve a ejecutar la parte de la conexión.

Voy a checar eso despues les aviso


Salu2 :-)))

(""'·._.·L.I. Daniel Villa·._.·'"")


"Marckys" escribió en el mensaje
news:
Yo no domino el VB, pero por lo que veo cuando haces postback siempre
cargas
los datos.

Cuando clicas en el botón de guardar vuelves a cargar los datos y por eso
te
carga siempre el primer valor.

Tendrías que controlar la carga de datos cuando te interese y no siempre.

Public Sub Page_Load(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles MyBase.Load

'Put user code to initialize the page here



...

End Sub

Saludos

Marckys --> Power by C#
MCP - MCAD.NET


"Daniel H. Villa" escribió:

Hola Lord, Marcks y Leonardo:

Tuve que hacer lo siguiente para que tomara los valores de mi textbox:

Agregue otros textbox que solo van a servir para Introducir los datos a
insertar. Se que esta mal la forma pero, solo lo hice asi para que
funcionara.

Me doy cuenta que al cargar mi pagina al accesar a mis registros, a pesar
de
que cuando doy Boton Nuevo, y limpiar los text= "", para editar con mis
nuevos valores, al regresar, me doy cuenta que vuelve a mostrar los
valores
del primer registro. Les paso mi programación, haber si se puede mejorar,
ya
que es ilogico que cree otros textbox para agregar o editar y otros para
accesar a los valores de mi tabla.

Imports System.Data.SqlClient

Imports Agencia.Posicion

Public Class logininfo

Inherits System.Web.UI.Page

Public Conexion As String

Public SqlConnection, Cmd

Public Dr As SqlDataReader

Protected WithEvents txtNombre01 As System.Web.UI.WebControls.TextBox

Protected WithEvents txtAp_Pat01 As System.Web.UI.WebControls.TextBox

Protected WithEvents txtAp_Mat01 As System.Web.UI.WebControls.TextBox

Protected WithEvents txtLogin01 As System.Web.UI.WebControls.TextBox

Protected WithEvents txtPassword01 As System.Web.UI.WebControls.TextBox

Protected WithEvents txtNombre02 As System.Web.UI.WebControls.TextBox

Protected WithEvents txtAp_Pat02 As System.Web.UI.WebControls.TextBox

Protected WithEvents txtAp_Mat02 As System.Web.UI.WebControls.TextBox

Protected WithEvents txtLogin02 As System.Web.UI.WebControls.TextBox

Protected WithEvents txtPassword02 As System.Web.UI.WebControls.TextBox

Protected WithEvents lblConfirma As System.Web.UI.WebControls.Label

Protected WithEvents txtConfirma As System.Web.UI.WebControls.TextBox

Protected WithEvents lblMensaje As System.Web.UI.WebControls.Label

Public pTotReg As Integer

Public Property pBoton() As String

Get

If ViewState("pBoton") Is Nothing Then

Return ""

End If

Return DirectCast(ViewState("pBoton"), String)

End Get

Set(ByVal value As String)

ViewState("pBoton") = value

End Set

End Property

#Region " Web Form Designer Generated Code "



<System.Diagnostics.DebuggerStepThrough()> Private Sub
InitializeComponent()

End Sub

Protected WithEvents btnAceptar As System.Web.UI.WebControls.Button

Protected WithEvents btnCancelar As System.Web.UI.WebControls.Button

Protected WithEvents btnSalir As System.Web.UI.WebControls.Button

Protected WithEvents btnEliminar As System.Web.UI.WebControls.Button

Protected WithEvents btnNuevo As System.Web.UI.WebControls.Button

Protected WithEvents btnEditar As System.Web.UI.WebControls.Button

Protected WithEvents btnUltimo As System.Web.UI.WebControls.Button

Protected WithEvents btnSiguiente As System.Web.UI.WebControls.Button

Protected WithEvents btnAnterior As System.Web.UI.WebControls.Button

Protected WithEvents btnPrimero As System.Web.UI.WebControls.Button

Protected WithEvents lblRegistro As System.Web.UI.WebControls.Label

Protected WithEvents lblNumReg As System.Web.UI.WebControls.Label

Protected WithEvents lblPosReg As System.Web.UI.WebControls.Label

'NOTE: The following placeholder declaration is required by the Web Form
Designer.

'Do not delete or move it.

Private designerPlaceholderDeclaration As System.Object

Private Sub Page_Init(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles MyBase.Init

'CODEGEN: This method call is required by the Web Form Designer

'Do not modify it using the code editor.

InitializeComponent()

End Sub

#End Region

Public Sub Page_Load(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles MyBase.Load

'Put user code to initialize the page here

If Not Page.IsPostBack Then

pPosReg = Posicion.pPosReg.ToString()

End If

Conexion = "Initial Catalog=Agencia;Data Source=dhvilla\misqlserver;user
id=sa;password =pal42pat"

SqlConnection = New SqlConnection(Conexion)

SqlConnection.Open()

Tot_Reg()

Obt_Array()

Cmd = New SqlCommand("Select TOP 1 * FROM tbl_Usuario Order By ID ASC",
SqlConnection)

Muestra_Datos()

End Sub

Private Sub btnNuevo_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles btnNuevo.Click

pBoton = "Nuevo"

Nuevo_Editar()

Limpia_Text()

' Recorre() ' Se puso porque perdia la posición

End Sub

Private Sub btnEditar_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles btnEditar.Click

Nuevo_Editar()

Recorre() ' Se puso porque perdia la posición

pBoton = "Editar"

End Sub

Public Sub btnAceptar_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles btnAceptar.Click

If pBoton = "Nuevo" Then

Insert_Usuario()

Tot_Reg()

pPosReg = pTotReg

'Else

End If

pBoton = ""

Aceptar_Cancelar()

Recorre() ' Se puso porque perdia la posición

End Sub

Private Sub btnCancelar_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles btnCancelar.Click

pBoton = ""

Aceptar_Cancelar()

Recorre() ' Se puso porque perdia la posición

End Sub

Public Sub btnSiguiente_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles btnSiguiente.Click

Tot_Reg()

If pPosReg < pTotReg Then

pPosReg = pPosReg + 1

End If

Recorre()

End Sub

Private Sub btnAnterior_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles btnAnterior.Click

Tot_Reg()

If pPosReg <= pTotReg And pPosReg > 1 Then

pPosReg = pPosReg - 1

End If

Recorre()

End Sub

Private Sub btnUltimo_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles btnUltimo.Click

Tot_Reg()

pPosReg = pTotReg

Recorre()

End Sub

Private Sub btnPrimero_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles btnPrimero.Click

pPosReg = 1

Cmd = New SqlCommand("Select TOP 1 * FROM tbl_Usuario Order By ID ASC",
SqlConnection)

Muestra_Datos()

End Sub

Private Sub btnSalir_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles btnSalir.Click

Recorre() ' Se puso porque perdia la posición

SqlConnection.Close()

End Sub

Public Sub Nuevo_Editar()

Me.btnAceptar.Visible = True

Me.btnCancelar.Visible = True

Me.btnNuevo.Visible = False

Me.btnEditar.Visible = False

Me.txtAp_Mat01.Visible = False

Me.txtAp_Pat01.Visible = False

Me.txtLogin01.Visible = False

Me.txtNombre01.Visible = False

Respuesta Responder a este mensaje
#12 Daniel H. Villa
16/12/2005 - 16:48 | Informe spam
Hola:

Ya corregi mi problema, tuve que crear una rutina para cargarla solo una vez

Public Sub Page_Load(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles MyBase.Load

'Put user code to initialize the page here

If Not Page.IsPostBack Then

pPosReg = 1

Carga_Conexion()

End If

End Sub



Public Sub Carga_Conexion()

SqlConnection = New SqlConnection(Conexion)

SqlConnection.Open()

Tot_Reg()

Obt_Array()

Cmd = New SqlCommand("Select TOP 1 * FROM tbl_Usuario Order By ID ASC",
SqlConnection)

Muestra_Datos()

End Sub

Public Sub Muestra_Datos()

Dr = Cmd.ExecuteReader()

If Dr.Read = True Then

Me.lblRegistro.Text = "Usuario ID: " & Dr.Item("ID").ToString

Me.txtNombre.Text = Dr.Item("Nombre").ToString

Me.txtAp_Pat.Text = Dr.Item("Ap_Pat").ToString

Me.txtAp_Mat.Text = Dr.Item("Ap_Mat").ToString

Me.txtLogin.Text = Dr.Item("Login").ToString

Me.txtPassword.Text = Dr.Item("Password").ToString

End If

Dr.Close()

End Sub



Gracias por su ayuda


Salu2 :-)))

(""'·._.·L.I. Daniel Villa·._.·'"")


"Daniel H. Villa" escribió en el mensaje
news:%
Hola Marckys:

Te refieres que al cargar el load donde incluyo las instrucciones:

Conexion = "Initial Catalog=Agencia;Data Source=dhvilla\misqlserver;user
id=sa;password =pal42pat"

SqlConnection = New SqlConnection(Conexion)

SqlConnection.Open()

Tot_Reg()

Obt_Array()

Cmd = New SqlCommand("Select TOP 1 * FROM tbl_Usuario Order By ID ASC",
SqlConnection)

Muestra_Datos()


Al regresar a mi pagina vuelve a ejecutar la parte de la conexión.

Voy a checar eso despues les aviso


Salu2 :-)))

(""'·._.·L.I. Daniel Villa·._.·'"")


"Marckys" escribió en el mensaje
news:
Yo no domino el VB, pero por lo que veo cuando haces postback siempre
cargas
los datos.

Cuando clicas en el botón de guardar vuelves a cargar los datos y por eso
te
carga siempre el primer valor.

Tendrías que controlar la carga de datos cuando te interese y no siempre.

Public Sub Page_Load(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles MyBase.Load

'Put user code to initialize the page here



...

End Sub

Saludos

Marckys --> Power by C#
MCP - MCAD.NET


"Daniel H. Villa" escribió:

Hola Lord, Marcks y Leonardo:

Tuve que hacer lo siguiente para que tomara los valores de mi textbox:

Agregue otros textbox que solo van a servir para Introducir los datos a
insertar. Se que esta mal la forma pero, solo lo hice asi para que
funcionara.

Me doy cuenta que al cargar mi pagina al accesar a mis registros, a
pesar de
que cuando doy Boton Nuevo, y limpiar los text= "", para editar con mis
nuevos valores, al regresar, me doy cuenta que vuelve a mostrar los
valores
del primer registro. Les paso mi programación, haber si se puede
mejorar, ya
que es ilogico que cree otros textbox para agregar o editar y otros para
accesar a los valores de mi tabla.

Imports System.Data.SqlClient

Imports Agencia.Posicion

Public Class logininfo

Inherits System.Web.UI.Page

Public Conexion As String

Public SqlConnection, Cmd

Public Dr As SqlDataReader

Protected WithEvents txtNombre01 As System.Web.UI.WebControls.TextBox

Protected WithEvents txtAp_Pat01 As System.Web.UI.WebControls.TextBox

Protected WithEvents txtAp_Mat01 As System.Web.UI.WebControls.TextBox

Protected WithEvents txtLogin01 As System.Web.UI.WebControls.TextBox

Protected WithEvents txtPassword01 As System.Web.UI.WebControls.TextBox

Protected WithEvents txtNombre02 As System.Web.UI.WebControls.TextBox

Protected WithEvents txtAp_Pat02 As System.Web.UI.WebControls.TextBox

Protected WithEvents txtAp_Mat02 As System.Web.UI.WebControls.TextBox

Protected WithEvents txtLogin02 As System.Web.UI.WebControls.TextBox

Protected WithEvents txtPassword02 As System.Web.UI.WebControls.TextBox

Protected WithEvents lblConfirma As System.Web.UI.WebControls.Label

Protected WithEvents txtConfirma As System.Web.UI.WebControls.TextBox

Protected WithEvents lblMensaje As System.Web.UI.WebControls.Label

Public pTotReg As Integer

Public Property pBoton() As String

Get

If ViewState("pBoton") Is Nothing Then

Return ""

End If

Return DirectCast(ViewState("pBoton"), String)

End Get

Set(ByVal value As String)

ViewState("pBoton") = value

End Set

End Property

#Region " Web Form Designer Generated Code "



<System.Diagnostics.DebuggerStepThrough()> Private Sub
InitializeComponent()

End Sub

Protected WithEvents btnAceptar As System.Web.UI.WebControls.Button

Protected WithEvents btnCancelar As System.Web.UI.WebControls.Button

Protected WithEvents btnSalir As System.Web.UI.WebControls.Button

Protected WithEvents btnEliminar As System.Web.UI.WebControls.Button

Protected WithEvents btnNuevo As System.Web.UI.WebControls.Button

Protected WithEvents btnEditar As System.Web.UI.WebControls.Button

Protected WithEvents btnUltimo As System.Web.UI.WebControls.Button

Protected WithEvents btnSiguiente As System.Web.UI.WebControls.Button

Protected WithEvents btnAnterior As System.Web.UI.WebControls.Button

Protected WithEvents btnPrimero As System.Web.UI.WebControls.Button

Protected WithEvents lblRegistro As System.Web.UI.WebControls.Label

Protected WithEvents lblNumReg As System.Web.UI.WebControls.Label

Protected WithEvents lblPosReg As System.Web.UI.WebControls.Label

'NOTE: The following placeholder declaration is required by the Web Form
Designer.

'Do not delete or move it.

Private designerPlaceholderDeclaration As System.Object

Private Sub Page_Init(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles MyBase.Init

'CODEGEN: This method call is required by the Web Form Designer

'Do not modify it using the code editor.

InitializeComponent()

End Sub

#End Region

Public Sub Page_Load(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles MyBase.Load

'Put user code to initialize the page here

If Not Page.IsPostBack Then

pPosReg = Posicion.pPosReg.ToString()

End If

Conexion = "Initial Catalog=Agencia;Data Source=dhvilla\misqlserver;user
id=sa;password =pal42pat"

SqlConnection = New SqlConnection(Conexion)

SqlConnection.Open()

Tot_Reg()

Obt_Array()

Cmd = New SqlCommand("Select TOP 1 * FROM tbl_Usuario Order By ID ASC",
SqlConnection)

Muestra_Datos()

End Sub

Private Sub btnNuevo_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles btnNuevo.Click

pBoton = "Nuevo"

Nuevo_Editar()

Limpia_Text()

' Recorre() ' Se puso porque perdia la posición

End Sub

Private Sub btnEditar_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles btnEditar.Click

Nuevo_Editar()

Recorre() ' Se puso porque perdia la posición

pBoton = "Editar"

End Sub

Public Sub btnAceptar_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles btnAceptar.Click

If pBoton = "Nuevo" Then

Insert_Usuario()

Tot_Reg()

pPosReg = pTotReg

'Else

End If

pBoton = ""

Aceptar_Cancelar()

Recorre() ' Se puso porque perdia la posición

End Sub

Private Sub btnCancelar_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles btnCancelar.Click

pBoton = ""

Aceptar_Cancelar()

Recorre() ' Se puso porque perdia la posición

End Sub

Public Sub btnSiguiente_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles btnSiguiente.Click

Tot_Reg()

If pPosReg < pTotReg Then

pPosReg = pPosReg + 1

End If

Recorre()

End Sub

Private Sub btnAnterior_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles btnAnterior.Click

Tot_Reg()

If pPosReg <= pTotReg And pPosReg > 1 Then

pPosReg = pPosReg - 1

End If

Recorre()

End Sub

Private Sub btnUltimo_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles btnUltimo.Click

Tot_Reg()

pPosReg = pTotReg

Recorre()

End Sub

Private Sub btnPrimero_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles btnPrimero.Click

pPosReg = 1

Cmd = New SqlCommand("Select TOP 1 * FROM tbl_Usuario Order By ID ASC",
SqlConnection)

Muestra_Datos()

End Sub

Private Sub btnSalir_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles btnSalir.Click

Recorre() ' Se puso porque perdia la posición

SqlConnection.Close()

End Sub

Public Sub Nuevo_Editar()

Me.btnAceptar.Visible = True

Me.btnCancelar.Visible = True

Me.btnNuevo.Visible = False

Me.btnEditar.Visible = False

Me.txtAp_Mat01.Visible = False

Me.txtAp_Pat01.Visible = False

Me.txtLogin01.Visible = False

Me.txtNombre01.Visible = False







email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una pregunta AnteriorRespuesta Tengo una respuesta
Search Busqueda sugerida