Foros del Web » Programación para mayores de 30 ;) » .NET »

Cargar un formulario

Estas en el tema de Cargar un formulario en el foro de .NET en Foros del Web. Hola a todos, estoy haciendo un pequeño programita en VB.net que tiene un formulario (formulario1)que tiene un texbox donde se ingresa un cogido y un ...
  #1 (permalink)  
Antiguo 05/01/2011, 08:54
 
Fecha de Ingreso: junio-2008
Ubicación: Osorno
Mensajes: 155
Antigüedad: 15 años, 10 meses
Puntos: 3
Pregunta Cargar un formulario

Hola a todos, estoy haciendo un pequeño programita en VB.net que tiene un formulario (formulario1)que tiene un texbox donde se ingresa un cogido y un boton que me hace una consulta a una BD SQL en un servidor y me muestra datos si el codigo que ingresa el usuario lo encuentra en la base. Si encuentra el codigo ingresado me muestra algunos datos dentro de unos texbox, luego tengo un boton que dice continuar si uno pincha ese boton me abre otro formulario (formulario 2), en el fomulario2 tengo algunos texbox y un boton que dice volver, si pincho este boton, este me regresa al formulario anterior o sea al formulario 1 si en este formulario vuelvo a pinchar el boton continuar se repite el proceso sin problemas, el problema se me presenta si realizo una nueva busqueda en la base es decir si ingreso otro codigo pincho el boton de consultar a la BD me muestra los nuevos datos en los texbox y despues pincho nuevamente el boton continuar para ir al otro formulario o sea el formulario 2 me da un Error que dice algo a si:
"el valor no esta dentro del intervalo esperado - No se controló System.ArgumentException"
en esta parte del codigo: en la linea de color rojo

Código vb:
Ver original
  1. Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click        
  2. frm = New Form2        
  3. Form2.ShowDialog()  ' en esta linea me indica el error
  4. End Sub
  5. (con este codigo voy al formulario 2)


El codigo de mi Formulario 1 es este:

Código vb:
Ver original
  1. Imports System
  2. Imports System.Data
  3. Imports System.Data.SqlClient
  4.  
  5.  
  6. Public Class Form1
  7.     Dim cnn As New SqlConnection("data source = servidor; initial catalog = base; user id = user; password = pass")
  8.     Dim Ada As New SqlDataAdapter()
  9.     '' Dim Ds As New DataSet()
  10.    Dim frm As Form2
  11.  
  12.  
  13.  
  14.     Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
  15.         'cnn.Open()
  16.        'MessageBox.Show("Se Conecto con exito a la Base de datos", "Aviso", MessageBoxButtons.OK, MessageBoxIcon.Information)
  17.        'cnn.Close()
  18.    End Sub
  19.  
  20.     Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
  21.         Dim Sqlstr As New SqlCommand("SELECT NOMBRE, DIRECCION,LOCALIDAD FROM CLIENTES WHERE  CODIGO=" & "'" & TextBox1.Text & "'", cnn)
  22.         cnn.Open()
  23.         Dim dr As SqlDataReader = Sqlstr.ExecuteReader(CommandBehavior.CloseConnection)
  24.         While dr.Read
  25.             Dim value As Object = dr.Item("NOMBRE")
  26.  
  27.             If value IsNot DBNull.Value Then TextBox2.Text = CStr(value)
  28.  
  29.             value = dr.Item("DIRECCION")
  30.  
  31.             If value IsNot DBNull.Value Then TextBox3.Text = CStr(value)
  32.  
  33.             value = dr.Item("LOCALIDAD")
  34.  
  35.             If value IsNot DBNull.Value Then TextBox4.Text = CStr(value)
  36.  
  37.         End While
  38.         dr.Close()
  39.         'cnn.Close()
  40.  
  41.     End Sub
  42.  
  43.     Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
  44.         frm = New Form2
  45.         Form2.ShowDialog()
  46.   ' (con este codigo voy al formulario 2)
  47.    End Sub
  48. End Class


Este es el Codigo de MI formulario 2

Código vb:
Ver original
  1. Public Class Form2
  2.     Dim frm2 As Form1
  3.     Private Sub Med_Terreno_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Med_Terreno.Click
  4.  
  5.     End Sub
  6.  
  7.     Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
  8.         frm2 = New Form1
  9.         Me.Close()
  10.         Form1.ShowDialog()
  11.   ' (con este codigo vuelvo al formulario 1)
  12.    End Sub
  13. End Class

Me podrian ayudar a solucionar este error por favor...
  #2 (permalink)  
Antiguo 05/01/2011, 09:22
Avatar de Aquaventus  
Fecha de Ingreso: junio-2010
Ubicación: Lima-Peru , En el alba de la naturaleza
Mensajes: 2.105
Antigüedad: 13 años, 10 meses
Puntos: 267
Respuesta: Cargar un formulario

Hola proteus8 en el form 2 dejalo asi y me cuentas :

Código vb:
Ver original
  1. Public Class Form2
  2. Private Sub Med_Terreno_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Med_Terreno.Click
  3.  
  4. End Sub
  5.  
  6. Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
  7. Me.Close()
  8. End Sub
  9. End Class

EDITADO :

Por cierto ahora que veo bien tienes que cerrar la conexion en tu button1 de tu form1 que esta como comentario:

Código vb:
Ver original
  1. Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
  2. Dim Sqlstr As New SqlCommand("SELECT NOMBRE, DIRECCION,LOCALIDAD FROM CLIENTES WHERE CODIGO=" & "'" & TextBox1.Text & "'", cnn)
  3. cnn.Open()
  4. Dim dr As SqlDataReader = Sqlstr.ExecuteReader(CommandBehavior.CloseConnection)
  5. While dr.Read
  6. Dim value As Object = dr.Item("NOMBRE")
  7. If value IsNot DBNull.Value Then TextBox2.Text = CStr(value)
  8.  
  9. value = dr.Item("DIRECCION")
  10.  
  11. If value IsNot DBNull.Value Then TextBox3.Text = CStr(value)
  12.  
  13. value = dr.Item("LOCALIDAD")
  14.  
  15. If value IsNot DBNull.Value Then TextBox4.Text = CStr(value)
  16.  
  17. End While
  18.  
  19. dr.Close()
  20. cnn.Close() '<------------
  21. End Sub
__________________
Internet es tener todo el conocimiento global a tu disposición.
Desarrollo de Software - Ejemplos .Net

Última edición por Aquaventus; 05/01/2011 a las 11:43
  #3 (permalink)  
Antiguo 10/01/2011, 14:44
 
Fecha de Ingreso: junio-2008
Ubicación: Osorno
Mensajes: 155
Antigüedad: 15 años, 10 meses
Puntos: 3
Respuesta: Cargar un formulario

Hola Aquaventus ,
Muchas gracias por tu respuesta, funciono perfectirijillo
  #4 (permalink)  
Antiguo 10/01/2011, 14:48
Avatar de Aquaventus  
Fecha de Ingreso: junio-2010
Ubicación: Lima-Peru , En el alba de la naturaleza
Mensajes: 2.105
Antigüedad: 13 años, 10 meses
Puntos: 267
Respuesta: Cargar un formulario

de nada proteus8 estamos aqui para ayudar. Cualquier otro problema no dudes en postearlo. Saludos !.
__________________
Internet es tener todo el conocimiento global a tu disposición.
Desarrollo de Software - Ejemplos .Net

Etiquetas: formulario
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 13:38.