/ Forside / Teknologi / Udvikling / ASP / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
ASP
#NavnPoint
smorch 9259
Harlekin 1866
molokyle 1040
Steffanst.. 758
gandalf 657
smilly 564
gibson 560
cumano 530
MouseKeep.. 480
10  Random 410
Paging med access database
Fra : Klavs Haugaard


Dato : 04-04-02 00:26

Jeg har lavet en masse sider med oplysninger fra Access databaser og
forskellige sql query's men nogle af siderne er ved at blive lange, så jeg
ville jo gerne have noget paging på...

jeg har kigget på nogle eksempler på activedeveloper, men der bruger de
Select * from tabel LIMIT 10, 15;
denne limit returnerer en tom værdi....

nogle bedre måder at gøre det på, eller kan den limit køre?

-Klavs Haugaard



 
 
Jesper Stocholm (04-04-2002)
Kommentar
Fra : Jesper Stocholm


Dato : 04-04-02 00:51

Klavs Haugaard wrote in
news:3cab8fa7$0$68761$edfadb0f@dspool01.news.tele.dk:

> Jeg har lavet en masse sider med oplysninger fra Access databaser og
> forskellige sql query's men nogle af siderne er ved at blive lange, så
> jeg ville jo gerne have noget paging på...
>
> jeg har kigget på nogle eksempler på activedeveloper, men der bruger
> de Select * from tabel LIMIT 10, 15;

jeg kender ikke det specifikke script - men Access undertøtter ikke LIMIT,
da det (primært) er en mySQL-kommando.

Prøv i stedet med

SELECT TOP 10 * FROM Table WHERE ....

:)

--
Jesper Stocholm
http://stocholm.dk
http://asp.stocholm.dk
Svar til gruppen og ikke til mig privat pr. email :|

Klavs Haugaard (04-04-2002)
Kommentar
Fra : Klavs Haugaard


Dato : 04-04-02 10:28


> Klavs Haugaard wrote in
> news:3cab8fa7$0$68761$edfadb0f@dspool01.news.tele.dk:
> > jeg har kigget på nogle eksempler på activedeveloper, men der bruger
> > de Select * from tabel LIMIT 10, 15;
>
> jeg kender ikke det specifikke script - men Access undertøtter ikke LIMIT,
> da det (primært) er en mySQL-kommando.
>
> Prøv i stedet med
>
> SELECT TOP 10 * FROM Table WHERE ....
>
> :)

ja det virker jo fint... men hvordan får jeg den så til at starte med post
11 på side 2... jeg har lavet en count query, så den har styr på hvor mange
poster der er, men hvad skal der være ved WHERE sætningen?

-Klavs Haugaard

>
> --
> Jesper Stocholm
> http://stocholm.dk
> http://asp.stocholm.dk
> Svar til gruppen og ikke til mig privat pr. email :|



Jakob Andersen (04-04-2002)
Kommentar
Fra : Jakob Andersen


Dato : 04-04-02 13:32

"Klavs Haugaard" <tant@fjas.dk> skrev i en meddelelse
news:3cac1c99$0$68671$edfadb0f@dspool01.news.tele.dk...
> ja det virker jo fint... men hvordan får jeg den så til at starte med post
> 11 på side 2... jeg har lavet en count query, så den har styr på hvor
mange
> poster der er, men hvad skal der være ved WHERE sætningen?

Hvis du ikke øsnker at bruge mit forslag med ADO paging, kan du bruge noget
ala dette, men det er MEGET dårlig og langsom kode:

For side 1:
SELECT TOP 10 felt1, felt2 FROM tabel ORDER BY idfelt DESC

For side 2:
SELECT TOP 10 felt1, felt2 FROM tabel WHERE idfelt NOT IN ( SELECT TOP 10
idfelt FROM tabel ORDER BY idfelt DESC) ORDER BY idfelt DESC

For side 3:
SELECT TOP 10 felt1, felt2 FROM tabel WHERE idfelt NOT IN ( SELECT TOP 20
idfelt FROM tabel ORDER BY idfelt DESC) ORDER BY idfelt DESC


Men jeg vil anbefale dig at bruge mit andet eksempel(ADO) da ovenstående
metode er noget grissefy

--
Jakob Andersen



Klavs Haugaard (04-04-2002)
Kommentar
Fra : Klavs Haugaard


Dato : 04-04-02 13:56


"Jakob Andersen" <jakob@effectus.dk> skrev i en meddelelse
news:a8hh46$mau$1@sunsite.dk...
> "Klavs Haugaard" <tant@fjas.dk> skrev i en meddelelse
> news:3cac1c99$0$68671$edfadb0f@dspool01.news.tele.dk...
> > ja det virker jo fint... men hvordan får jeg den så til at starte med
post
> > 11 på side 2... jeg har lavet en count query, så den har styr på hvor
> mange
> > poster der er, men hvad skal der være ved WHERE sætningen?
>
> Hvis du ikke øsnker at bruge mit forslag med ADO paging, kan du bruge
noget
> ala dette, men det er MEGET dårlig og langsom kode:
>
> For side 1:
> SELECT TOP 10 felt1, felt2 FROM tabel ORDER BY idfelt DESC
>
> For side 2:
> SELECT TOP 10 felt1, felt2 FROM tabel WHERE idfelt NOT IN ( SELECT TOP 10
> idfelt FROM tabel ORDER BY idfelt DESC) ORDER BY idfelt DESC
>
> For side 3:
> SELECT TOP 10 felt1, felt2 FROM tabel WHERE idfelt NOT IN ( SELECT TOP 20
> idfelt FROM tabel ORDER BY idfelt DESC) ORDER BY idfelt DESC
>
>
> Men jeg vil anbefale dig at bruge mit andet eksempel(ADO) da ovenstående
> metode er noget grissefy
>
> --
> Jakob Andersen
>
>

Oh ja, det er da en måde at gøre det på... jeg har leget lidt med den inde
fra activedeveloper, og kan ikke få den til at virke ordntligt...den viser
10 posts, men laver side 1 af -1 :o/

-Klavs Haugaard



Jakob Andersen (08-04-2002)
Kommentar
Fra : Jakob Andersen


Dato : 08-04-02 09:46

"Klavs Haugaard" <tant@fjas.dk> skrev i en meddelelse
news:3cac4d43$0$11901$edfadb0f@dspool01.news.tele.dk...
> Oh ja, det er da en måde at gøre det på... jeg har leget lidt med den inde
> fra activedeveloper, og kan ikke få den til at virke ordntligt...den viser
> 10 posts, men laver side 1 af -1 :o/

Og du er sikker på at din SQL returnerer mere end 10 poster?

--
Jakob Andersen



Jesper Stocholm (08-04-2002)
Kommentar
Fra : Jesper Stocholm


Dato : 08-04-02 09:55

Jakob Andersen wrote in news:a8hh46$mau$1@sunsite.dk:

> "Klavs Haugaard" <tant@fjas.dk> skrev i en meddelelse
> news:3cac1c99$0$68671$edfadb0f@dspool01.news.tele.dk...
>> ja det virker jo fint... men hvordan får jeg den så til at starte med
>> post 11 på side 2... jeg har lavet en count query, så den har styr på
>> hvor mange
>> poster der er, men hvad skal der være ved WHERE sætningen?
>
> Hvis du ikke øsnker at bruge mit forslag med ADO paging, kan du bruge
> noget ala dette, men det er MEGET dårlig og langsom kode:
>
[snip]
>
> Men jeg vil anbefale dig at bruge mit andet eksempel(ADO) da
> ovenstående metode er noget grissefy
>

ja ... vi skal jo snart til det ... så hvorfor ikke give det første
råd herinde, der henviser til .Net :)

Jeg vil varmt anbefale, at man kigger på .Nets muligheder for netop at
lave data-paging. Det er noget jeg selv ofte har afholdt mig fra at
anvende, da koden til det nemt bliver enten ikke-optimal eller
kommer til at bruge Stored procedures.

Jeg lavede - som min første .Net side - netop en side, der laver denne
datapaging. Sproget er i C# :

<%@ Import Namespace="System.Data" %>
<%@ Import Namespace="System.Data.SqlClient" %>

<script runat="server" language="C#">

   void Page_Load(Object sender, EventArgs e)
   {
      BindData();
   }

   void BindData()
   {
      SqlConnection myCon = new SqlConnection("server=(local)\\NetSDK;database=pubs;Trusted_Connection=yes");   
      SqlDataAdapter myCmd = new SqlDataAdapter("SELECT emp_id, fname, job_id FROM employee ORDER BY emp_id ASC",myCon);
      DataSet ds = new DataSet();
      myCmd.Fill(ds,"Employee");
      myGrid.DataSource = ds.Tables["Employee"].DefaultView;      
      myGrid.DataBind();   
   }

   void Grid_Change(Object sender, DataGridPageChangedEventArgs e) {
      myGrid.CurrentPageIndex = e.NewPageIndex;
      myGrid.DataBind();
   }

   
</script>

<html>
   <head>
      <title>Første forsøg med databinding</title>
   </head>
   <body>
      <h3>Første forsøg ...</h3>
      <form runat="server">
      <asp:DataGrid id="myGrid" runat="server"
         AllowPaging="True"
         PageSize="10"
         PagerStyle-Mode="NextPrev"
         PagerStyle-HorizontalAlign="Right"
         PagerStyle-NextPageText="Næste"
         PagerStyle-PrevPageText="Forrige"
         GridLines="Both"
         OnPageIndexChanged="Grid_Change"
      />
      </form>
   </body>
</html>

.... så kan det vist ikke gøres meget nemmere eller meget mere overskueligt :)

--
Jesper Stocholm
http://stocholm.dk
http://asp.stocholm.dk
Svar til gruppen og ikke til mig privat pr. email :|

Torben Brandt (08-04-2002)
Kommentar
Fra : Torben Brandt


Dato : 08-04-02 16:09

Jesper Stocholm wrote in dk.edb.internet.webdesign.serverside.asp:
> ja ... vi skal jo snart til det ... så hvorfor ikke give det første
> råd herinde, der henviser til .Net :)
>
> Jeg vil varmt anbefale, at man kigger på .Nets muligheder for netop at
> lave data-paging. Det er noget jeg selv ofte har afholdt mig fra at
> anvende, da koden til det nemt bliver enten ikke-optimal eller
> kommer til at bruge Stored procedures.
>
> Jeg lavede - som min første .Net side - netop en side, der laver denne
> datapaging. Sproget er i C# :
>
> <%@ Import Namespace="System.Data" %>
> <%@ Import Namespace="System.Data.SqlClient" %>
>
> <script runat="server" language="C#">
>
>    void Page_Load(Object sender, EventArgs e)
>    {
>       BindData();
>    }
>
>    void BindData()
>    {
>       SqlConnection myCon = new SqlConnection("server=(local)\\NetSDK;database=pubs;Trusted_Connection=yes");   
>       SqlDataAdapter myCmd = new SqlDataAdapter("SELECT emp_id, fname, job_id FROM employee ORDER BY emp_id ASC",myCon);
>       DataSet ds = new DataSet();
>       myCmd.Fill(ds,"Employee");
>       myGrid.DataSource = ds.Tables["Employee"].DefaultView;      
>       myGrid.DataBind();   
>    }
>
>    void Grid_Change(Object sender, DataGridPageChangedEventArgs e) {
>       myGrid.CurrentPageIndex = e.NewPageIndex;
>       myGrid.DataBind();
>    }
>
>    
> </script>
>
> <html>
>    <head>
>       <title>Første forsøg med databinding</title>
>    </head>
>    <body>
>       <h3>Første forsøg ...</h3>
>       <form runat="server">
>       <asp:DataGrid id="myGrid" runat="server"
>          AllowPaging="True"
>          PageSize="10"
>          PagerStyle-Mode="NextPrev"
>          PagerStyle-HorizontalAlign="Right"
>          PagerStyle-NextPageText="Næste"
>          PagerStyle-PrevPageText="Forrige"
>          GridLines="Both"
>          OnPageIndexChanged="Grid_Change"
>       />
>       </form>
>    </body>
> </html>
>
> .... så kan det vist ikke gøres meget nemmere eller meget mere overskueligt :)
>

Jeg må medgive at det ser lækkert ud, men det er ikke umiddelbart let at læse, når man ikke har studeret .Net eller C#
- endnu.

Har du - eller en anden - evt et link til en tutorial/oversigt, så man kan læse noget om ASP.Net og de nye muligheder,
uden at skulle igennem hele .Net-møllen først.

mvh Torben

--
KONKURRENCE PÅ HTML.dk:
fortæl hvordan din drømmeeditor ser ud
og vind luksus webhoteller fra Wannafind
KLIK HER! => http://www.html.dk/editor

Jakob Andersen (08-04-2002)
Kommentar
Fra : Jakob Andersen


Dato : 08-04-02 16:13

"Torben Brandt" <torben@actuar.dk> skrev i en meddelelse
news:a8sbr4$8e5$1@sunsite.dk...
> Har du - eller en anden - evt et link til en tutorial/oversigt, så man kan
læse noget om ASP.Net og de nye muligheder,
> uden at skulle igennem hele .Net-møllen først.

<http://www.asp.net>

--
Jakob Andersen



Torben Brandt (08-04-2002)
Kommentar
Fra : Torben Brandt


Dato : 08-04-02 16:32

Jakob Andersen wrote in dk.edb.internet.webdesign.serverside.asp:
> "Torben Brandt" <torben@actuar.dk> skrev i en meddelelse
> news:a8sbr4$8e5$1@sunsite.dk...
> > Har du - eller en anden - evt et link til en tutorial/oversigt, så man kan
> læse noget om ASP.Net og de nye muligheder,
> > uden at skulle igennem hele .Net-møllen først.
>
> <http://www.asp.net>
>
hmmm, lidt (eller meget ?) pinligt at jeg ikke lige kunne finde asp.net, når
jeg vil vide noget om ASP.Net....

Men det ser i hvert fald lovende ud, så jeg takker

mvh Torben

--
KONKURRENCE PÅ HTML.dk:
fortæl hvordan din drømmeeditor ser ud
og vind luksus webhoteller fra Wannafind
KLIK HER! => http://www.html.dk/editor

Jesper Stocholm (08-04-2002)
Kommentar
Fra : Jesper Stocholm


Dato : 08-04-02 19:26

Torben Brandt wrote in news:a8sbr4$8e5$1@sunsite.dk:

> Jesper Stocholm wrote in dk.edb.internet.webdesign.serverside.asp:
>> ja ... vi skal jo snart til det ... så hvorfor ikke give det første
>> råd herinde, der henviser til .Net :)
>>
>> Jeg vil varmt anbefale, at man kigger på .Nets muligheder for netop
>> at lave data-paging. Det er noget jeg selv ofte har afholdt mig fra
>> at anvende, da koden til det nemt bliver enten ikke-optimal eller
>> kommer til at bruge Stored procedures.
>>
>> Jeg lavede - som min første .Net side - netop en side, der laver
>> denne datapaging. Sproget er i C# :
>>
[snip total porno-kode :) ]
>>
>
> Jeg må medgive at det ser lækkert ud, men det er ikke umiddelbart let
> at læse, når man ikke har studeret .Net eller C# - endnu.
>

det er jeg ikke helt enig i ... :) Jeg har kun sporadisk kendskab til
sprog som fx C++ og Java ... faktisk har stort set al den kode jeg har
lavet været i VB eller ASP (VBS). Det har dog ikke været det store
problem at begynde at skrive i C# (men måske er der alligevel noget om
det alle snakker om, nemlig at det gode ved Kanditater - cand.* - er at
de er hurtige til at omstille sig imellem forskellige problemer og
teknologier :).

Til gengæld er jeg fuld af lovprisning over .Net ... ikke længere noget
med fortolket script-kode, ikke noget med at bøvle med klientside form-
validering i javascripts, ikke længere noget med problemer med at sætte
cursors i databaser etc ... :)

Jeg kan indtil videre kun komme på en potentiel lidt uheldig ting: Jeg
frygter, at man ikke har samme kontrol over den "resulterende" HTML ...
specielt hvis man anvender de såkaldte server-controls, hvor meget af
HTML'en laves automatisk. Jeg kunne forestille mig, at inkarnerede C++
programmører ville have de samme forbehold for at gå over til fx Java
eller VB. Et eksempel på dette er, at der automatisk genereres fx
clientside javascripts ... men det er pakket ind i script-blocks som
denne:

<script language="javascript">
   ...
</script>

men jeg ville egentlig gerne have mulighed for at bestemme, at der skal
stå

<script type="text/javascript">

.... men jeg har ikke kunnet finde nogen, der kunne fortælle mig, hvordan.

> Har du - eller en anden - evt et link til en tutorial/oversigt, så man
> kan læse noget om ASP.Net og de nye muligheder, uden at skulle igennem
> hele .Net-møllen først.
>

du kan downloade eksempelkode fra fx Wrox og ellers er de quickstart-
tutorials der følger med frameworket meget illustrative at gennemgå.

--
Jesper Stocholm
http://stocholm.dk
http://asp.stocholm.dk
Svar til gruppen og ikke til mig privat pr. email :|

Jakob Andersen (04-04-2002)
Kommentar
Fra : Jakob Andersen


Dato : 04-04-02 07:17

"Klavs Haugaard" <tant@fjas.dk> wrote in message
news:3cab8fa7$0$68761$edfadb0f@dspool01.news.tele.dk...
> Jeg har lavet en masse sider med oplysninger fra Access databaser og
> forskellige sql query's men nogle af siderne er ved at blive lange, så jeg
> ville jo gerne have noget paging på...

Access understøtter ikke LIMIT, så hvis du vil have paging skal du bruge
noget ala dette:

<http://activedeveloper.dk/aspdigital/kapitel2/paging.asp>

--
Jakob Andersen



Søg
Reklame
Statistik
Spørgsmål : 177556
Tips : 31968
Nyheder : 719565
Indlæg : 6408861
Brugere : 218888

Månedens bedste
Årets bedste
Sidste års bedste