Ver Mensaje Individual
  #1 (permalink)  
Antiguo 05/01/2011, 08:54
proteus8
 
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...