Ik heb een pagina waarin een aantal producten worden getoond aan de hand van een selectie die gebruikers opgeven, heb hier gekozen voor een OleDBDataReader, omdat er verder niks naar de database hoeft te worden geschreven, tot zover werkt alles perfect.
Maar nu leek het me wel leuk, als mensen konden zien, hoeveel "records" eraan hun verzoek voldeden, nu kwam ik er al vrij snel acher dat OleDbDatareader geen Recordcount had, maar na een beetje zoeken op google vond ik de volgende code.
Maar waar moet ik deze code plaatsen, als ik de code plaats tussen
drUniverso= cmdSelect.ExecuteReader()
RepSelection.DataSource= drUniverso
Dan word er niks meer geselecteerd en verschijnen er geen producten meer op me scherm, dus dacht ik laat ik de code naar het einde verplaatsen en onder RepSelection.Databind() proppen, maar helaas intRecCount bleef op 0 staan, nu heb ik wel een vermoeden waar dit doorkomt en ik denk dat het komt, doordat de datareader de records maar een keer doorloopt en dit doet als, deze gekoppeld wordt aan de repeater, of zit ik hier verkeerd?
Nu mijn vraag, waar zit de fout en hoe dit het makkelijkst op te lossen?
ASP:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
| Sub LstHoutdikte_SelectedIndexChanged(sender As Object, e As EventArgs) Dim cnnAcces As OleDBConnection cnnAcces= new OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;DataS ource=c:\inetpub\wwwroot\bekkers\bekkers.mdb") cnnAcces.Open() Dim strSQL As String If LstHoutDikte.SelectedIndex=0 Then strSQL= "SELECT * FROM tbluniverso" End If <knip stukje weg van de select zooi) Dim cmdSelect As New OleDbCommand(strSQL, cnnAcces) Dim drUniverso as OleDbDataReader drUniverso= cmdSelect.ExecuteReader() RepSelection.DataSource= drUniverso RepSelection.DataBind() End sub |
Maar nu leek het me wel leuk, als mensen konden zien, hoeveel "records" eraan hun verzoek voldeden, nu kwam ik er al vrij snel acher dat OleDbDatareader geen Recordcount had, maar na een beetje zoeken op google vond ik de volgende code.
ASP:
1
2
3
4
5
| Dim intRecCount As Integer intRecCount= 0 While drUniverso.Read() intRecCount= intRecCount+1 End While |
Maar waar moet ik deze code plaatsen, als ik de code plaats tussen
drUniverso= cmdSelect.ExecuteReader()
RepSelection.DataSource= drUniverso
Dan word er niks meer geselecteerd en verschijnen er geen producten meer op me scherm, dus dacht ik laat ik de code naar het einde verplaatsen en onder RepSelection.Databind() proppen, maar helaas intRecCount bleef op 0 staan, nu heb ik wel een vermoeden waar dit doorkomt en ik denk dat het komt, doordat de datareader de records maar een keer doorloopt en dit doet als, deze gekoppeld wordt aan de repeater, of zit ik hier verkeerd?
Nu mijn vraag, waar zit de fout en hoe dit het makkelijkst op te lossen?
If it is broken, fix it. If it ain't broken, make it better!