Ver Mensaje Individual
  #13 (permalink)  
Antiguo 03/07/2011, 16:40
Avatar de gnzsoloyo
gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 17 años, 2 meses
Puntos: 2658
Respuesta: Guardar registros

Bueno, por un lado, siempre es mejor que indiques qué versión de Visual Studio estás usando y también qué versión del .Net, ya que hay algunas diferencias formales entre algunos de ellos.
Por ejemplo, normalmente Visual Studio 2003 admitía el uso de ciertas conversiones objeto y clase, pero a partir de VS2005, esto no sucede.
En el caso, es posible que el problema es que estás trabajando una conversión entre un Object y un String, y esa vinculación no es válida. Como eso falla, entonces sale sin cerrar el DataReader, y cuando intentas abrir otro, no puedes.
VEamos:
Código vb:
Ver original
  1. Private Sub textboxcarga1()
  2.         Try
  3.             Dim cad As New MySqlConnection("Database=Pacientes;Data Source=localhost;User Id=root;Password=utan")
  4.             cad.Open()
  5.             Dim sql As String = "SELECT * FROM generales WHERE id1 = '" & cmbpacientes.SelectedValue.ToString & "' "
  6.             Dim cmd As New MySqlCommand(sql, cad)
  7.             Dim dr As MySqlDataReader = cmd.ExecuteReader(CommandBehavior.CloseConnection)
  8.             While dr.Read
  9.                 Dim value As Object = dr.Item("nombres")
  10.                 If value IsNot DBNull.Value Then TextBox1.Text = Convert.ToString(value)
  11.                 value = dr.Item("apellidos")
  12.                 If value IsNot DBNull.Value Then TextBox2.Text = Convert.ToString((value)
  13.                 value = dr.Item("ocupacion")
  14.                 If value IsNot DBNull.Value Then TextBox3.Text = Convert.ToString((value)
  15.                 value = dr.Item("recomendado")
  16.                 If value IsNot DBNull.Value Then TextBox4.Text = Convert.ToString((value)
  17.             End While
  18.             dr.Close()
  19.         Catch ex As MySqlException
  20.             MessageBox.Show("Error:" & ex.Message)
  21.             Return
  22.         Catch ex As Exception
  23.             MessageBox.Show("Error:" & ex.Message)
  24.             Return
  25.         End Try
  26.     End Sub
De todos modos, creo que el problema mayor está entre la cadena de la primera consulta y el cmbpacientes.SelectedValue, porque esa propiedad de vuelve un Object, y el "&" está definido para la clase String, no para la superior Object.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)