Toon posts:

[ASP/SQL]Beperkt aantal rijen opvragen

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

Verwijderd

Topicstarter
Ik moet voor een schoolproject een database querien(is dat wel een werkwoord:P) die als resultaat een 1000-tal rijen geeft. Via ASP kan je dit propertjes in 25 resultaten per pagina ofzo zetten, maar het probleem blijft, je belast de server met een vrij zware query.
Dus, nu vroeg ik me af, of je via ASP een beperkt aantal rijen kan opvragen. Via VB + SQL (Access DB) kan je de cachesize instellen, waardoor ie slechts 25 rijen per keer opvraagt ofzo. (die je dan propertjes in pagina's kunt opdelen.
Ik kan ook (doch beperkt;) ) PL/SQL waarmee dat ook perfect mogelijk is, maar iets zegt me dat ASP niet echt capabel is tot PL/SQL, right?

Suggesties?

  • eborn
  • Registratie: April 2000
  • Laatst online: 12-09 13:59
Kun je in je SQL query geen LIMIT <begin>,<aantal> ingeven?

  • j_du_pee
  • Registratie: Maart 2000
  • Laatst online: 23-09-2024

j_du_pee

du pain, du vin, du pee

LIMIT ken ik niet, maar misschien zo:
code:
1
SELECT Top 10 * FROM Tabel WHERE id not in (SELECT Top 10 id FROM Tabel)

om de tweede 10 dus op te vragen

kaart != map && bottel != fles
Wacht op antwoord


Verwijderd

Topicstarter
Nog nooit van gehoord (niet dat dat wat wil zeggen :P ).
Heb em ff in Oracle ingegeven:
select * from medewerkers limit 1,25
*
ERROR at line 1:
ORA-00933: SQL command not properly ended

Maar als ik gewoon limit zonder parameters geeft, klaagt ie niet (doet ook niks speciaals), wat wil zeggen dat die limit optie wel herkend wordt blijkbaar, syntax klopt gewoon niet volledig denkek.

Verwijderd

Topicstarter
code:
1
2
3
4
SELECT TOP 10 naam from medewerkers
         *
ERROR at line 1:
ORA-00923: FROM keyword not found where expected

Ga nu naar huis (heb ik geen beschikking meer over Oracle :( )

  • eborn
  • Registratie: April 2000
  • Laatst online: 12-09 13:59
Ok, ik gebruik meestal MySQL en daar kun je gewoon een select laten eindigen met LIMIT 25 om maar maximaal 25 rijen te krijgen. Maar misschien is LIMIT MySQL specifiek :) Is altijd zo, heb je iets nodig, dan heeft MySQL het niet. En wil je iemand eens helpen, dan is het weer geen standaard SQL :z

  • cimbom
  • Registratie: Juni 2001
  • Laatst online: 26-04-2024

cimbom

Just Kidding

edit:


beter lezen |:(

  • Annie
  • Registratie: Juni 1999
  • Laatst online: 25-11-2021

Annie

amateur megalomaan

Op vrijdag 15 maart 2002 16:27 schreef TripLcixx het volgende:
Ik kan ook (doch beperkt;) ) PL/SQL waarmee dat ook perfect mogelijk is, maar iets zegt me dat ASP niet echt capabel is tot PL/SQL, right?
ASP hoeft ook geen PL/SQL te kennen. Als jij gewoon je query inklopt en deze voert aan een connectie-object wordt 'ie gewoon uitgevoerd, heeft natuurlijk vrij weinig te maken met ASP.
Meerdere PL/SQL commando's kan je natuurlijk als stored procedure (of hoe dat dan ook heet in Oracle) opslaan in de database en via een command object executen.

/disclaimer:
* Annie heeft wat biertjes op en kan dus best onzin uitkramen Afbeeldingslocatie: http://www.hurkmans.d2g.com/got/a_beer.gif :Z

Today's subliminal thought is:


  • Dope-E
  • Registratie: Januari 2001
  • Laatst online: 08-09 13:23

Dope-E

The one and only Dope

Dit werkt iig voor SQL Server
code:
1
2
3
4
5
6
Set objConn = Server.CreateObject ("ADODB.Connection")
objConn.Open "conString"
objconn.CursorLocation = 3 'adUseClient
Set objRec = objConn.Execute("SELECT * FROM Tabel")
objRec.pagesize = 'aantal records per, keer bijv. 25
objRec.absolutepage = 'welke pagina ---> 1=1-25, 2=26-50

twitter.com/curly_sanders


Verwijderd

Topicstarter
tnx voor de hulp iig, ga morgen weer ff enkelen testen. Behalve dat gehele PL/SQL gedoe, want ik vrees dat je echt enkel biertjes moet ophebben om er een jota van begrijpen (ik niet dus). ;)

En ff over die MySQL <> Oracle <> Access SQL:
ik word er lekker GEK van! Heb op school altijd braafjes SQL met Oracle geleerd (the sky's the limit :P ), dan ga je ff met asp knoeien, blijkt een hele hoop code gewoon niet herkend te worden. Was enkele weken geleden weer ff zoet toen om een vage reden niks het meer deed, bleek dat "select naam alias from tabel" het helemaal niet deed...maja, how the fuck moest ik nu weten dat AS een vereist ding is in Access |:( (nu klink ik best n00b hé :9 )

EDIT:
Op zaterdag 16 maart 2002 00:34 schreef Dope-E het volgende:
code:
1
2
Set objRec = objConn.Execute("SELECT * FROM Tabel")
objRec.pagesize = 'aantal records per, keer bijv. 25
Van het ogenblik dat je die execute doet, worden er toch 1000 rijen gequeried? Dan komt dat aantal records per keer toch te laat? Of ben ik weer dom aan het praten en wordt die code totaal niet sequentieel uitgevoerd?

  • Sircuri
  • Registratie: Oktober 2001
  • Niet online

Sircuri

Volledig Appelig

officiele SQL -standaard (dacht ik):

SELECT TOP xx col_1, col_2 FROM table WHERE clausule

en LIMIT is inderdaad gebonden aan MySQL al dacht ik dat Postgresql het ook ondersteund. Access niet in ieder geval en ook MSSQL niet

Signature van nature


Verwijderd

Topicstarter
Dit zegt Oracle 8i (hoeveel dichter kan ik bij 'standaard SQL' komen??)

select TOP 10 empno from emp
*
ERROR at line 1:
ORA-00923: FROM keyword not found where expected

top wordt blijkbaar niet herkend... :(

Verwijderd

Topicstarter
Heb deze code gebruikt:
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
<%
Set objConn = Server.CreateObject ("ADODB.Connection")
objConn.Open("DRIVER={Microsoft Access Driver (*.mdb)};
DBQ=" & Server.MapPath("db\DataBase-Web.mdb"))
Set objRec = objConn.Execute("SELECT * FROM Bedrijf")
objRec.pagesize = 5
objRec.absolutepage = 1
Do While NOT objRec.EOF 
Response.Write(objRec("bedrnr").Value & "<br>")
objRec.MoveNext
Loop
set objConn=nothing
%>

En krijg deze error:
Error Type:
ADODB.Recordset (0x800A0CB3)
Object or provider is not capable of performing requested operation.
/homeweb/TI203/s0028211/test.asp, line 6

Als ik de absolutepage-regel in commentaar zet, werkt ie wel, maar dan geeft ie ineens alle rijen.

Verwijderd

Topicstarter
ok, laatste vorderingen (begint beetje op monoloog-threadje te lijken :P ):
Als ik de TOP 5 bij de Select gebruik, wordt die in ASP WEL herkend (yes) en krijg ik dus enkel de eerste 5!

Few...eindelijk....hartelijk bedankt all!!!

  • D2k
  • Registratie: Januari 2001
  • Laatst online: 31-08 10:19

D2k

uhm edit je post ajb
dit is wel heel makkelijk posts scoren en kicken
</ot>

Doet iets met Cloud (MS/IBM)


  • Paitor
  • Registratie: Maart 2001
  • Laatst online: 11-09 15:26

Paitor

rages doen :P

En krijg deze error:
Error Type:
ADODB.Recordset (0x800A0CB3)
Object or provider is not capable of performing requested operation.
/homeweb/TI203/s0028211/test.asp, line 6

Als ik de absolutepage-regel in commentaar zet, werkt ie wel, maar dan geeft ie ineens alle rijen.
Is wel logisch dat ie niet werkt, dit is tenslotte speciaal geschreven voor Access, die net niet met standaard SQL werkt.

Ik weet dat je de oplossing al hebt, maar misschien heeft iemand er later nog wat aan...

Live Life to the Max | Kom op konijntje doe maar huppele wiebele


  • Dope-E
  • Registratie: Januari 2001
  • Laatst online: 08-09 13:23

Dope-E

The one and only Dope

de reden waarom die niet werkte was waarschijnlijk omdat je deze regel had weg gelaten:
code:
1
objconn.CursorLocation = 3 'adUseClient

twitter.com/curly_sanders

Pagina: 1