Ciao a tutti, ho questo problema a cui proprio non riesco a venire a capo:
ho un db in access dove ho queste tabelle:
tblLibri i campi sono: idLibro, idCasa, nomeLibro, autoreLibro, prezzoLibro
tblEditori i campi sono: idEditore, idCasa, nomeEditore
tblRelazioni i campi sono: idRelazionie, idCasa, idLibro
ho relazionato le 3 tabelle in questo modo:
tblRelazioni.idCasa > tblEditori.idCasa
tblRelazioni.idLibro > tblLibri.idLibro
Ora, io vorrei estrarre gli ultimi 5 libri con relativi dati, il problema arriva perchè per alcuni libri ci sono delle ristampe che non sono sempre della stessa casa editrice quindi per qualche libro io ho più case editrici, il mio problema è che non so come fare per far visualizzare, per ogni libro (nel caso di più editori), una cosa di questo genere:
Nome Libro: LIBRO1
Editore: Editore1, Editore2
Ecc.
Con il codice che trovate sotto sono riuscito ad estrarre i dati ma mi mette sempre lo stesso editore ripetuto:
pensavo che l'utilizzo di una clausola where di questo tipo:
where (tblRelazioni.idCasa=tblEditori.idCasa)
potessi dirgli alla mia pagina.aspx di pescare anche tutti gli editori x libro.
ma così non è.
in pratica, vi chiedo quindi aiuto!
codice:
<%@ Control Language="VB" %>
<%@ import Namespace="System.Data.Odbc" %>
<%@ import Namespace="System.Data" %>
<script runat="server">
Sub Page_Load(ByVal Sender As Object, ByVal E As EventArgs)
Dim pathimg As String = "Immagini/Libri/"
'Dim img As String
Dim rs As OdbcDataReader
Dim r As New TableRow()
Dim c As New TableCell()
Dim objcon As New OdbcConnection("Driver={Microsoft Access Driver (*.mdb)};Dbq=" & Server.MapPath("mdb-database/Libridb.mdb"))
objcon.Open()
Dim objcmd As New OdbcCommand("select Top 5 * from tblLibri, tblEditori, tblRelazioni where (tblRelazioni.idCasa=tblEditori.idCasa)", objcon)
rs = objcmd.ExecuteReader()
Do While rs.Read()
r = New TableRow()
c = New TableCell()
c.HorizontalAlign = HorizontalAlign.Left
c.VerticalAlign = VerticalAlign.Top
c.Text = "[img][/img]"
c.CssClass = "titolo"
r.Cells.Add(c)
Libri.Rows.Add(r)
r = New TableRow()
c = New TableCell()
c.HorizontalAlign = HorizontalAlign.Left
c.VerticalAlign = VerticalAlign.Top
c.Text = "Nome: " & rs.Item("nomeLibro") & ""
c.CssClass = "titolo"
r.Cells.Add(c)
Libri.Rows.Add(r)
r = New TableRow()
c = New TableCell()
c.HorizontalAlign = HorizontalAlign.Left
c.VerticalAlign = VerticalAlign.Top
c.Text = "Console: " & rs.Item("nomeEditore") & ""
c.CssClass = "titolo"
r.Cells.Add(c)
Libri.Rows.Add(r)
Loop
rs.Close()
objcon.Close()
End Sub
</script>
<asp:Table ID="Libri" Width="170" HorizontalAlign="Center" runat="server" CellPadding="0" CellSpacing="0" />
Grazie!