none
Como copiar datos de una busqueda realizada en sql server a un DatagridView?

    Pregunta

  • Cordial Saludo

    el problema es el siguiente:

    tengo un TextBox en el cual debo realizar una búsqueda de un código para que me arroje los demás datos dados en la tabla de datos.

    El problema es que el código a buscar en algunos casos esta varias veces en la tabla, me explico.  Es un código de ubicación de un terreno el cual me proporciona información de la ubicación, tamaño, etc. y ademas los dueños del mismo, lo cual provoca que se repita el código con los mismos datos de ubicación pero con diferente dueño.

    ejemplo de la tabla:

    código   -    ubicación   -   tamaño   -   propietario   -   documento

    111            bogota              23             juan perez         12346

    111            bogota              23             diana reyes        34567

    112            cali                   34             diego cely            123456

    la idea es que los datos iguales me aparezcan en los TextBox y los diferentes como lo son "propietario y documento" me aparescan en un DatagridView asi:

    textbox1= ubicación

    textbox2= tamaño

    DatagridView1 (columna 1= propietario), (columna 2= documento)

    el codigo que tengo es el siguiente:

    procedimiento en sql server:

    ALTER PROCEDURE [dbo].[mostrar]
            @Buscar varchar(15)
    AS
    BEGIN
            SET NOCOUNT ON;

            SELECT ISNULL(MAX(Tabla1.Ubicacion), 0), ISNULL(max(Tabla1.Tamaño),0),
    ISNULL(MAX(Tabla1.Propietario),0),  ISNULL(MAX(Tabla1.Documento),0),

            FROM Tabla1
            WHERE (@Buscar like  Tabla1.Codigo)

    END

    Y en Visual Studio es el siguiente:

    Public Sub Mostrar()
            Try

                Using cn As New SqlConnection("cadena_de_coneccion")
                    Dim cmd As New SqlCommand("mostrar", cn)
                    cmd.CommandType = CommandType.StoredProcedure

                    cmd.Parameters.AddWithValue("@Buscar", Convert.ToString(txt_buscar.Text))


                    cn.Open()

                    Dim DR As SqlDataReader = cmd.ExecuteReader()

                    If (DR.Read()) Then
                        textbox1.Text = DR.GetString(0)
                        textbox2.Text = DR.GetDecimal(1) "si funciona"

    y para los del DataGridView no se como mostrarlos??

                    End If
                End Using

            Catch ex As Exception
                MsgBox(ex.Message)

            End Try
        End Sub

    Como hago para mostrar los datos en el DataGridView??

    miércoles, 17 de agosto de 2016 19:47

Respuestas

  • Hola:
    ¿Porque no normalizas los datos?
    Crea 2 Tablas
    TABLA1
    CODIGO      UBICACION   TAMAÑO
    ==============================
    111                 bogota         23
    112                 cali              34
    TABLA2
    CODIGO      NUMERO   PROPIETARIO   DOCUMENTO
    ============================================
    111                1           juan perez          12346
    111                2           diana reyes         34567
    111                1           diego cely           123456

    Para los datos de los TextBox, se consulta a la TABLA1.
    Para los datos del DataGridView, se consulta a la TABLA2.

    Un saludo desde Bilbo
    Carlos
    jueves, 18 de agosto de 2016 8:43

Todas las respuestas

  • Hola:
    ¿Porque no normalizas los datos?
    Crea 2 Tablas
    TABLA1
    CODIGO      UBICACION   TAMAÑO
    ==============================
    111                 bogota         23
    112                 cali              34
    TABLA2
    CODIGO      NUMERO   PROPIETARIO   DOCUMENTO
    ============================================
    111                1           juan perez          12346
    111                2           diana reyes         34567
    111                1           diego cely           123456

    Para los datos de los TextBox, se consulta a la TABLA1.
    Para los datos del DataGridView, se consulta a la TABLA2.

    Un saludo desde Bilbo
    Carlos
    jueves, 18 de agosto de 2016 8:43
  • Si, creo q será lo mas adecuado,

    gracias J. Carlos Herrero

    jueves, 18 de agosto de 2016 19:53