Toon posts:

[ASP.NET/Access] Dataset wordt niet gevuld met data

Pagina: 1
Acties:

Verwijderd

Topicstarter
Ik probeer m.b.v een MS Access database en een SELECT query data in een dataset te gooien en deze vervolgens aan een repeater toe te wijzen. Het is een redelijke grote query die ik door MS Access zelf heb laten genereren:
SQL:
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
SELECT 
CompetitieWedstrijden.datum, 
CompetitieWedstrijden.wedstrijdID, 
CompetitieTegenstanders.naam, 
CompetitieWedstrijden.thuisScore, 
CompetitieTegenstanders_1.naam, 
CompetitieWedstrijden.uitScore 
FROM (CompetitieTegenstanders AS CompetitieTegenstanders_1 
RIGHT JOIN (CompetitieTegenstanders 
RIGHT JOIN CompetitieWedstrijden 
ON CompetitieTegenstanders.tegenstanderID = CompetitieWedstrijden.thuisTeamID) 
ON CompetitieTegenstanders_1.tegenstanderID = CompetitieWedstrijden.uitTeamID) 
INNER JOIN CompetitieTeams 
ON CompetitieWedstrijden.teamID = CompetitieTeams.teamID 
WHERE (((CompetitieTegenstanders.naam) Like 'Almeerspin*') 
AND ((CompetitieWedstrijden.week)=1) 
AND ((CompetitieWedstrijden.competitieID)=20)) 
OR (((CompetitieWedstrijden.week)=1) 
AND ((CompetitieWedstrijden.competitieID)=20) 
AND ((CompetitieTegenstanders_1.naam) Like 'Almeerspin*')) 
GROUP BY 
CompetitieWedstrijden.datum, 
CompetitieWedstrijden.wedstrijdID, 
CompetitieTegenstanders.naam, 
CompetitieWedstrijden.thuisScore, 
CompetitieTegenstanders_1.naam, 
CompetitieWedstrijden.uitScore, 
CompetitieTeams.categorie, 
CompetitieTeams.teamNr 
ORDER BY 
CompetitieTeams.categorie, 
CompetitieTeams.teamNr

Het probleem is dat wanneer ik deze query gebruik om gegevens op te halen uit de database de dataset niet gevuld lijkt te worden. De query werkt zelf wel als ik hem in MS Access draai. Ik krijg netjes alle gewenste gegevens.

De code die ik gebruik in ASP.NET:
Visual Basic .NET:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
Sub WedstrijdProgrammaWeergeven()
    dim objConn as new OleDbConnection ("Provider=Microsoft.Jet.OLEDB.4.0;" & "Data Source=" & DatabaseLocatie())

    dim objselectCmd as String
    objselectCmd = bovenstaande query
    dim myCommand as new OleDbDataAdapter (objselectCmd,  objConn)

    dim ds as DataSet = new DataSet()
    myCommand.Fill(ds, "CompetitieWedstrijden")

    if (ds.Tables("CompetitieWedstrijden").Rows.Count = 0)
        ProgrammaRepeater.Visible = False
        response.write(objselectCmd)
    else
        ProgrammaRepeater.DataSource = ds.Tables("CompetitieWedstrijden").DefaultView
    end if

    DataBind()
End Sub


Deze code gebruik ik vaker om repeaters te vullen. Met een eenvoudige query werkt het wel gewoon. vb:
SQL:
1
SELECT * FROM CompetitieWedstrijden


Repeater is ook zodanig dat ie per record een nieuwe rij weergeeft, en werkt ook met bovenstaande simpele query. Probleem lijkt dus in de grote query te zitten.

Heeft iemand een mogelijke oplossing hiervoor?

[ Voor 5% gewijzigd door Verwijderd op 04-08-2005 21:10 ]


  • whoami
  • Registratie: December 2000
  • Nu online
Verander die sterretjes (*) die je gebruikt waar je een LIKE doet , door %

% zijn de standaard wildcard-characters; Access verwacht wel *'tejes, maar als je een query hebt die je dmv ADO/ADO.NET laat uitvoeren door Access, moeten die wildcard-char's ook % zijn, en niet *

Trouwens, waarom zet je die connectionstring niet in de web.config ?

[ Voor 12% gewijzigd door whoami op 04-08-2005 21:30 ]

https://fgheysels.github.io/


Verwijderd

Topicstarter
whoami schreef op donderdag 04 augustus 2005 @ 21:30:
Verander die sterretjes (*) die je gebruikt waar je een LIKE doet , door %

% zijn de standaard wildcard-characters; Access verwacht wel *'tejes, maar als je een query hebt die je dmv ADO/ADO.NET laat uitvoeren door Access, moeten die wildcard-char's ook % zijn, en niet *
Ah kijk, dat was inderdaad het probleem. Hij werkt nu wel, bedankt!
whoami schreef op donderdag 04 augustus 2005 @ 21:30:
Trouwens, waarom zet je die connectionstring niet in de web.config ?
Ben redelijk nieuw met ASP.NET en heb me daar eerlijk gezegd nog niet in verdiept, zolang het werkt ben ik al tevreden