[ASP.Net] Join met access, hoe weergeven?

Pagina: 1
Acties:
  • 182 views sinds 30-01-2008
  • Reageer

  • Nielsvr
  • Registratie: Maart 2004
  • Laatst online: 18-12-2025
Goedenmorgen,

Ik zit deze ochtend met een probleem. Ik ben geen super held met asp.net, maar ik moet er nu toch wat in doen voor school. Ik heb 2 tabellen in mijn access database, namelijk 'bestelling' en 'accessoire'. Ik wil graag de informatie van de bestelling weergeven. Hierin wordt de accessoire die besteld wordt opgeslagen door middel van het Accessoire_ID. Ik wil dus in mijn dataset de Accessoire_ID vervangen met de Accessoire_titel die in de tabel Accessoire staat.

Nu heb ik hiervoor een query gemaakt, achter blijf ik hangen hoe ik deze netjes moet weergeven. Ik heb de volgende code geprobeerd, zonder resultaat.(foutmelding:System.Data.OleDb.OleDbException: Typen in expressie komen niet overeen.). Het lijkt mij nogal logisch dat hij toch niet gaat werken aangezien ik bij het fill command maar 1 tabel selecteer, hoe moet ik het nu aanpakken? Hieronder de query met code, en het weergeven.

PHP:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
<%@ Page Language="VB" debug="true" %>
<%@ Import Namespace="System.Data" %>
<%@ Import Namespace="System.Data.OleDB" %>

<script runat="server">

    sub Page_Load(obj as Object, e as EventArgs)
    
    session("carbase") = "Winkelwagen"

        'Verbinding opzetten
        dim MijnVerbinding as new OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;" & "Data Source=C:\Inetpub\wwwroot\carbase\db\database.mdb")

        'Verbinding openen
        dim MijnCommand as new OleDbDataAdapter("SELECT *, Accessoire.Accessoire_ID, Bestelling.Accessoire_ID FROM Bestelling INNER JOIN Accessoire ON Bestelling.Accessoire_ID = Accessoire.Accessoire_ID WHERE Session_ID='" & Session.SessionID & "'", MijnVerbinding)
        
        'Dataset vullen
        dim MijnDataset as Dataset = new DataSet()
        MijnCommand.Fill(MijnDataset, "Bestelling")
        
        'Selecteer de data en gooi het in de dataset
        Occasion1.DataSource = MijnDataset.Tables("Bestelling").Defaultview
        Databind()
    end sub
    
</script>
<html>
    <head>
        <title>Carbase</title>
        <link href="style.css" rel="stylesheet" type="text/css" media="all" />
    </head>
    
    <body>
    
        <div id="header">
            <object width="780" height="350"><param name="movie" value="header.swf"><embed src="header.swf" width="780" height="350"></embed></object>
        </div>
        <div id="subnavigatie"><a href="home.aspx">Homepage</a> > Winkelwagen</div>
        
        <div id="content">
            <h3>Uw Winkelwagen</h3>
            <asp:repeater id="Occasion1" runat="server">
            
                <HeaderTemplate>
                    <table>
                    <tr>
                        <td bgcolor="#EFEFEF" width="300"><b>Titel</b></td>
                        <td bgcolor="#EFEFEF" width="180"><b>Aantal</b></td>
                    </tr>
                </HeaderTemplate>
                
                <ItemTemplate>
                    <tr>
                        <td bgcolor="#C0C0C0"><a href="accessoire.aspx?id=<%# Container.DataItem("Accessoire_ID") %>">Accessoire: <%# Container.DataItem("Accessoire_ID") %></a></td>   
                        <td bgcolor="#C0C0C0"><%# Container.DataItem("Aantal") %> stuks</td>                
                    </tr>                   
                </ItemTemplate>
                
                <AlternatingItemTemplate>
                    <tr>
                        <td bgcolor="#EFEFEF"><a href="accessoire.aspx?id=<%# Container.DataItem("Accessoire_ID") %>">Accessoire: <%# Container.DataItem("Accessoire_ID") %></a></td>   
                        <td bgcolor="#EFEFEF"><%# Container.DataItem("Aantal") %> stuks</td>        
                    </tr>                   
                </AlternatingItemTemplate>
                
                <FooterTemplate>
                    </table>
                </FooterTemplate>
                
            </asp:repeater>
            <br/><Br/>
        </div>
        
        <div id="subcontent">[img]"images/service.jpg"[/img]</div>
    
    </body>
</html>

[ Voor 20% gewijzigd door Nielsvr op 23-05-2006 09:56 ]


  • TeeDee
  • Registratie: Februari 2001
  • Laatst online: 21-02 16:30

TeeDee

CQB 241

Dit heeft niks met je .net code te maken. Meer met je SQL/Access code.
Het lijkt mij nogal logisch dat hij toch niet gaat werken aangezien ik bij het fill command maar 1 tabel selecteer, hoe moet ik het nu aanpakken?
Dat is niet logisch. Jij geeft nu een naam aan je DataSet, namelijk "bestelling". Al noem je die "locomotiefkipkachelefantje" zal deze het gewoon doen.

Je moet het probleem in je Query opzoeken. (Wat eigenlijk ook in je foutmelding staat)
Open eens je Access file, ga naar Query en plak je query erin.

[ Voor 8% gewijzigd door TeeDee op 23-05-2006 10:03 ]

Heart..pumps blood.Has nothing to do with emotion! Bored


  • Nielsvr
  • Registratie: Maart 2004
  • Laatst online: 18-12-2025
*Zucht*. Iemand anders van mijn projectgroep heeft de database gemaakt en alles op Tekst gezet. Ik had even verder moeten kijken dan mijn neus lang is. Ik heb alle datatypes goed gezet en nu werkt het als een zonnetje. Bedankt voor je snelle antwoord!