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

[SOLUCIONADO] Mostrar mas registros dentro de un textbox

Estas en el tema de Mostrar mas registros dentro de un textbox en el foro de Programación General en Foros del Web. Buenas foreros! Os traigo una grandísima duda con la que llevo peleando ya unos días y de la que seguramente alguien me puede echar una ...
  #1 (permalink)  
Antiguo 04/04/2016, 05:09
 
Fecha de Ingreso: abril-2016
Ubicación: C:\Usuarios\isaac
Mensajes: 33
Antigüedad: 8 años
Puntos: 1
Pregunta Mostrar mas registros dentro de un textbox

Buenas foreros!

Os traigo una grandísima duda con la que llevo peleando ya unos días y de la que seguramente alguien me puede echar una mano. Por cierto, estoy trabajando en Visual basic (casi se me olvida decir el lenguaje).

Lo que quiero es que un TextBox que almacene varios registros en un select hacia mi MySql. Lo tengo planteado y desarrollado para que me dé un solo registro, pero cuando le pido mas (un select * from clientes) me da solo el primer campo de la primera fila.

Aqui os dejo el código, y si podeis hacer que dentro de ese textbox aparezca toda una tabla...me harías un gran favor (lo tengo distribuido en dos formularios, pero donde quiero que se muestre es el textbox del formulario 2 llamado txtResulado.Text:

Formulario1:
Código vb:
Ver original
  1. Imports MySql.Data.MySqlClient
  2. Public Class Form1
  3.     Dim stringConexion As String = "server=localhost;database=horta na mesa; uid=root;"
  4.     Private Function conexion() As MySqlConnection
  5.         Return New MySqlConnection(stringConexion)
  6.     End Function
  7.  
  8.     Dim con As MySqlConnection = conexion()
  9.     Dim adaptador As New MySqlDataAdapter
  10.     Dim comando As New MySqlCommand
  11.     Dim ds As New DataSet
  12.  
  13.     Private Sub Form1_load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
  14.         con.Open()
  15.         Dim sql As String = "select tablas from 00000001tablas;"
  16.         With comando
  17.             .Connection = con
  18.             .CommandText = sql
  19.         End With
  20.         ds = New DataSet
  21.         adaptador = New MySqlDataAdapter(sql, con)
  22.         adaptador.Fill(ds, "00000001tablas")
  23.         With listaTabla
  24.             .DataSource = ds.Tables(0)
  25.             .ValueMember = "tablas"
  26.             .DisplayMember = "tablas"
  27.         End With
  28.         con.Close()
  29.     End Sub
  30.     'Definimos la variable que se "meterá" en el formulario 2
  31.    Dim moverme
  32.     Private Sub Button1_Click(sender As Object, e As EventArgs) Handles form1Enviar.Click
  33.         moverme = Form2
  34.         moverme.Show()
  35.     End Sub
  36. End Class

Formulario2:
Código vb:
Ver original
  1. Imports MySql.Data.MySqlClient
  2. Public Class Form2
  3.     Dim tabla, tipo, consultaTipo As String
  4.     Dim reader As String
  5.     Dim consulta As New MySqlCommand
  6.     Dim conexion As New MySqlConnection
  7.  
  8.     Private Sub Form2_Load(sender As Object, e As EventArgs) Handles MyBase.Load
  9.         conexion = New MySqlConnection("server=localhost;database=horta na mesa; uid=root;")
  10.         tabla = Form1.listaTabla.Text
  11.         tipo = Form1.listaTipo.Text
  12.         conexion.Open()
  13.         consulta = New MySqlCommand(tipo & " * from " & tabla & ";")
  14.         'Hacemos "consultaTipo" para que podamos mostrarlo en el textbox, ya que "consulta"
  15.        'no se puede transformar a string devido a que es un MysqlCommand
  16.        consultaTipo = tipo & " * from " & tabla & ";"
  17.         consulta.Connection = conexion
  18.         reader = consulta.ExecuteScalar()
  19.         'Metemos en los textbox lo que queremos
  20.        txtConsulta.Text = consultaTipo
  21.         txtResultado.Text = reader.ToString()
  22.     End Sub
  23.     Private Sub f2Cerrar_Click(sender As Object, e As EventArgs) Handles f2Cerrar.Click
  24.         Close()
  25.     End Sub
  26. End Class
P.D.: Hace 3 dias que empecé con esto del visual basic sin experiencia ninguna en programación, si podeis carregirme e indicarme algún consejo sería de gran ayuda.

Un saludo de antemano!!!
  #2 (permalink)  
Antiguo 04/04/2016, 09:33
 
Fecha de Ingreso: abril-2016
Ubicación: C:\Usuarios\isaac
Mensajes: 33
Antigüedad: 8 años
Puntos: 1
Respuesta: Mostrar mas registros dentro de un textbox

bueno...es triste pero creo haberme encontrado yo mismo la solución.

la posteo por si ha alguien le ocurre lo mismo, que por lo menos pueda guiarse por estos pasos:

hice el siguiente codigo en el formulario2:
Código vb:
Ver original
  1. Imports MySql.Data.MySqlClient
  2. Public Class Form2
  3.     Dim tabla, tipo, consultaTipo As String
  4.     Dim consulta As New MySqlCommand
  5.     Dim conexion As New MySqlConnection
  6.     Private Sub Form2_Load(sender As Object, e As EventArgs) Handles MyBase.Load
  7.         conexion = New MySqlConnection("server=localhost;database=horta na mesa; uid=root;")
  8.         tabla = Form1.listaTabla.Text
  9.         tipo = Form1.listaTipo.Text
  10.         conexion.Open()
  11.         'Hacemos un case para el tipo de consulta que se realiza
  12.        Select Case tipo
  13.             Case "SELECT"
  14.                 consulta = New MySqlCommand("SELECT * from " & tabla & ";")
  15.                 'Hacemos "consultaTipo" para que podamos mostrarlo en el textbox, ya que "consulta"
  16.                'no se puede transformar a string devido a que es un MysqlCommand
  17.                consultaTipo = "SELECT * from " & tabla & ";"
  18.                 consulta.Connection = conexion
  19.                 'Metemos en los textbox lo que queremos
  20.                txtConsulta.Text = consultaTipo
  21.                 Dim da As New MySqlDataAdapter
  22.                 da.SelectCommand = consulta
  23.                 Dim dt As New DataTable
  24.                 da.Fill(dt)
  25.                 Dim numeroregistros = dt.Rows.Count()
  26.                 If tabla = "clientes" Then
  27.                     For i = 0 To numeroregistros - 1
  28.                         Dim row As DataRow = dt.Rows(i)
  29.                         txtResultado.Text = txtResultado.Text & CStr(row("nombre")) & ", " & CStr(row("dni")) & ", " & CStr(row("direccion")) & ", " & CStr(row("telefono")) & Environment.NewLine
  30.                     Next
  31.                 ElseIf tabla = "proveedores" Then
  32.                     MessageBox.Show("Tabla de proveedores")
  33.  
  34.                 End If
  35.            'Borro los otros "Case" ya que solo interesaba el select
  36.        End Select
  37.  
  38.  
  39.     End Sub
  40.     Private Sub f2Cerrar_Click(sender As Object, e As EventArgs) Handles f2Cerrar.Click
  41.         Close()
  42.     End Sub
  43. End Class

Etiquetas: mysql, textbox, visual.net
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 04:45.