• Miércoles 15 de Mayo de 2024, 15:05

Autor Tema:  visual.net con sql ,NO FUNCIONAN LAS RELACIONES  (Leído 1041 veces)

ghosthell

  • Nuevo Miembro
  • *
  • Mensajes: 2
    • Ver Perfil
visual.net con sql ,NO FUNCIONAN LAS RELACIONES
« en: Miércoles 22 de Julio de 2009, 13:55 »
0
hola a todos, tengo un problema,  en visual basic he creado un programa para general una busqueda de datos desde sql, el problema es el sigueinte:

tengo una base de datos denominada bibioteca lo cual  tienen tablas como AUTOR y LIBRO(lo mas importante para mi problema)
lo cual estan  ralacionadas de libro-auntor  
 
lo que pasa es que cuando realizo una busqueda desde visual.net con el nombre de un AUTOR,  me sale el  AUTOR con todos los LIBROS  y no con el que esta relacionado

ejemplo: busqueda del libro A lo cual tiene como autor C

libro A
autor A

libro A
autor B

libro A
autor C

libro A
autor D


mi codigo en visual es el sigueinte :
"AYUDA PLEASE"

_________

Imports System.Data
Imports System.Data.SqlClient
Public Class Form8
    Private conexion As String = _
            "Data Source = (local); " & _
            "Initial Catalog=BiBLIOtec; " & _
            "Integrated Security=true"
    Private seleccion As String = _
                "SELECT NOMBRE_LIBRO, TEMA_LIBRO,  NOMBRE_AUTOR,   FROM LIBRO, AUTOR"

    Private iniciando As Boolean = True
    Private da As SqlDataAdapter
    Private dt As DataTable
    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        Me.Close()
        Form1.Visible = True
        Me.LISTARESULTADOS.Items.Clear()

    End Sub




    Private Sub Form2_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load



        da = New SqlDataAdapter(seleccion, conexion)
        dt = New DataTable
        da.Fill(dt)

        Me.DataGridView1.DataSource = dt

        iniciando = False

        If iniciando Then Exit Sub

        ' El resultado se devuelve como un array de tipo DataRow
        Dim filas() As DataRow

        ' Si solo quieres mostrar los que empiecen por lo escrito.
        ' Al escribir "s" se buscarán los que empiecen por esa letra.
        filas = dt.Select("TEMA_LIBRO LIKE '%" & TEXTO & "%'")


        ' Borrar los elementos anteriores
        Me.LISTARESULTADOS.Items.Clear()

        ' Si hay datos, mostrar
        If filas.Length > 0 Then

            ' Recorrer cada fila y mostrar
            For Each dr As DataRow In filas
                Me.LISTARESULTADOS.Items.Add("TEMA: " & dr("TEMA_LIBRO").ToString)
                Me.LISTARESULTADOS.Items.Add("LIBRO: " & dr("NOMBRE_LIBRO").ToString)
                Me.LISTARESULTADOS.Items.Add("AUTOR: " & dr("NOMBRE_AUTOR").ToString)
                Me.LISTARESULTADOS.Items.Add("")

            Next
        End If
        Label1.Text = "Usted a buscado con estos terminos:  " & TEXTO
    End Sub
End Class

___________________