Toon posts:

[VB.NET - ASP.NET] Pageddatasource in tabel

Pagina: 1
Acties:

Verwijderd

Topicstarter
Ik wil de 8 rijen die in mijn pageddatasource staan in een tabel krijgen, ik ben bezig met databankoptimalistatie en met wat in de pageddatasource staat moet ik weer enkele aanroepen naar de databank doen.
Ik probeer nu over een repeateritem, want rechtstreeks van pageddatasource naar tabel lukt blijkbaar niet. Het is van vitaal belang dat enkel de 8 in de pageddatasource in de tabel komen (dit is het verschil in een query van 1min30 en 2 seconden)
Visual Basic .NET:
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
 table_allebeelden = beelden.BeeldenIDLijstInCatlijst("")
        'table = beelden.Beeldlijst_inCategorielijst("")

        ' Populate the repeater control 
        Dim dsPaged As New PagedDataSource()
        dsPaged.DataSource = table_allebeelden.DefaultView
        dsPaged.AllowPaging = True
        dsPaged.PageSize = 8

        dsPaged.CurrentPageIndex = CurrentPage
        Dim rij As Data.DataRow
        Dim teller As Integer = 1
        Dim temprepeater As New Repeater
        temprepeater.DataSource = dsPaged
        temprepeater.DataBind()
        Dim tabelleke As New Data.DataTable
        tabelleke = table_allebeelden
        tabelleke.Rows.Clear()
        Dim item As RepeaterItem
        Dim tellerr As Integer = 1
        MsgBox("komt em ier in")
        For Each item In temprepeater.Items
            If tellerr < 50 Then


                tabelleke.Rows.Add(item.DataItem)
            End If
            tellerr = tellerr + 1

        Next
        Dim rij2 As Data.DataRow
        For Each rij2 In tabelleke.Rows
            MsgBox(rij2.Item("beeld_id").ToString)
        Next


Weet iemand over welk bject dit wel kan, of hoe ik misschien toch rechtstreeks an pageddatasource naar tabel kan?

Als je wil aan voelen wat het probleem is kijk dan maar eens naar "beelden" op http://imagebank.fides.be
Login: "tweaker@tweaker.net" p a s w o r d = "tweaker"

[ Voor 0% gewijzigd door RobIII op 26-03-2007 11:29 . Reden: Gek dat mensen wel de [small] tag kunnen vinden, maar niet de [code] tag :? ]


Verwijderd

Topicstarter
niemand?

Verwijderd

Topicstarter
Lol, echt niemand een id??? 8)7

  • gorgi_19
  • Registratie: Mei 2002
  • Laatst online: 10:24

gorgi_19

Kruimeltjes zijn weer op :9

Qua performance zal het geen donder uitmaken, aangezien je alsnog alle data uit je database ophaalt en die in je pageddatasource stopt. Je hebt dan weliswaar paging, maar je dumpt alsnog je miljoen rijen in een datatable, welke als bron is.

Je zal een custom paging oplossing moeten gaan maken. Op 4guysfromrolla staan wel een aantal artikelen, bruikbaar voor SQL Server 2005 en 2000. MySQL is zelf eenvoudig te maken, aangezien deze ondersteuning heeft voor limit.

[ Voor 22% gewijzigd door gorgi_19 op 26-03-2007 11:07 ]

Digitaal onderwijsmateriaal, leermateriaal voor hbo


Verwijderd

Topicstarter
@gorgi_19: Ja en nee, eigenlijk haal ik maximum 10000rijen binnen, en wat ik telkens binnen haal zijn ID's, dus een kolom. Aan de hand van dat ID haal ik meer gegevens op, dit ontlast de database significant! Anders zou ik nog een join moeten doen op die 10000 rijen wat te lang duurt.
edit: typo

  • gorgi_19
  • Registratie: Mei 2002
  • Laatst online: 10:24

gorgi_19

Kruimeltjes zijn weer op :9

Verwijderd schreef op maandag 26 maart 2007 @ 11:18:
@gorgi_19: Ja en nee, eigenlijk haal ik maximum 10000rijen binnen, en wat ik telkens binnen haal zijn ID's, dus een kolom. Aan de hand van dat ID haal ik meer gegevens op, dit ontlast de database significant! Anders zou ik nog een join moeten doen op die 10000 rijen wat te lang duurt.
edit: typo
Dan nog, waarom zou je 10.000 rijen binnenhalen als je er maar 8 nodig hebt, ook al zijn het alleen maar ID's? :? Waarom niet gelijk een goede custom paging oplossing?

Digitaal onderwijsmateriaal, leermateriaal voor hbo


Verwijderd

Topicstarter
1 Omdat ik dat niet kan en niet genoeg tijd heb dat nog goed uit te zoeken.
2 Omdat ik moet weten hoe veel waarden er in zitten en ik moet even snel naar pagina 100 als naar pagina 1 gaan. En wanneer ik nu een manier vind om die id's uit de pageddatasource te halen ben ik heeeeel gelukkig en is mn probleem op gelost :D

edit: Ik heb ook gekeken naar filmpje 26 asp.net ajax learning en is dat wat je bedoeld? Dit zou vereisen dat ik mijn dynamisch opgebouwde zoekquery helemaal opnieuw moet maken? en zo veel tijd heb ik dus niet meer :X

[ Voor 25% gewijzigd door Verwijderd op 26-03-2007 11:39 ]


  • gorgi_19
  • Registratie: Mei 2002
  • Laatst online: 10:24

gorgi_19

Kruimeltjes zijn weer op :9

Verwijderd schreef op maandag 26 maart 2007 @ 11:38:
edit: Ik heb ook gekeken naar filmpje 26 asp.net ajax learning en is dat wat je bedoeld? Dit zou vereisen dat ik mijn dynamisch opgebouwde zoekquery helemaal opnieuw moet maken? en zo veel tijd heb ik dus niet meer :X
Met Ajax? Nee, waarom? Gewoon een hyperlinkje maken met als parameter de gevraagde pagina. Die ga je dan in de codebehind ophalen.

Digitaal onderwijsmateriaal, leermateriaal voor hbo


  • Mastermind
  • Registratie: Februari 2000
  • Laatst online: 29-11 15:35
Je kunt beter een Stored Procedure maken die de gewenste rijen terugretourneert.

  • gorgi_19
  • Registratie: Mei 2002
  • Laatst online: 10:24

gorgi_19

Kruimeltjes zijn weer op :9

Mastermind schreef op maandag 26 maart 2007 @ 12:40:
Je kunt beter een Stored Procedure maken die de gewenste rijen terugretourneert.
Of een parametrized query :)

Digitaal onderwijsmateriaal, leermateriaal voor hbo


  • Mastermind
  • Registratie: Februari 2000
  • Laatst online: 29-11 15:35
gorgi_19 schreef op maandag 26 maart 2007 @ 12:41:
[...]

Of een parametrized query :)
Voordeel van een stored proc is dat, als je iets in de query wilt wijzigen je dit gewoon server side kunt doen, en bij een parametrized query opnieuw moet compilen en distribueren.. ;(

  • gorgi_19
  • Registratie: Mei 2002
  • Laatst online: 10:24

gorgi_19

Kruimeltjes zijn weer op :9

Mastermind schreef op maandag 26 maart 2007 @ 13:12:
[...]


Voordeel van een stored proc is dat, als je iets in de query wilt wijzigen je dit gewoon server side kunt doen, en bij een parametrized query opnieuw moet compilen en distribueren.. ;(
Imho hoort dat met een nieuwe versie mee te gaan; tussendoor wijzigen kan handig zijn, maar je krijgt dan vrij snel versieverschillen, iets waar je ook niet altijd vrolijk van wordt. Eveneens geldt nog steeds dat je de wijziging moet verspreiden. :)

Digitaal onderwijsmateriaal, leermateriaal voor hbo

Pagina: 1