webForumDet fria alternativet

Är detta överhuvudtaget möjligt?

ASP

5 svar · 454 visningar · startad av limpon

Medlem sedan sep. 2001175 inlägg
Frågan#1

Jag har ett litet problem.

Det är som så att när jag kör en sökning i min databas, som innehåller över 2 miljoner poster. Så vill ju självklart gärna sidan timeouta om man får för mycket träffar.

Så jag vill lixom inte att mina användare ska tro att deras webbläsare har hängt sig, utan jag vill att det ska vara användare vänligt och så snabbt som det bara är möjligt.

Jag måste dessvärre lista allt på samma sida eftersom jag skriver till en excel fil. Annars hade det inte varit några problem.

Går detta att lösa script mässigt?

Ex. Att man listar 500 poster, sedan pause:ar scriptet och skriver 500 / 100 000 poster klar,, listar igen.. sedan pause.. sedan står det 1000 / 100 000 poster klara osv.

Någon som har en bra lösning för mitt återkommande problem?

Finns det en smart lösning för detta?

Medlem sedan feb. 20011 198 inlägg
#2

Tänk på att en excel fil inte klarar mer än 65535 rader.

Möjligen skulle du kunna spara vilken rad man är på i en sessions-variabel och visa det i en annan frame eller i ett annat fönster som laddas om..

Medlem sedan sep. 2001175 inlägg
#3

hm ja det är en ide att man får stega igenom filen på något smidigt sätt.
Jag kommer aldrig skriva mer än 30 000 rader i excel filen så det är inga problem på så sätt.

Någon rolig lösning på hur man ska lösa det?

Medlem sedan juli 200012 978 inlägg
#4

All sökning börjar ju med att man vill ange vad man skal söka efter!
Då kan man lägga upp material så att det kan svara snabbare på en specifik sökning.
Om detta gäller statisk material så är det så mycket lättare.
Jämför Lexicon med ABCDE osv. Man kan ha olika nyckelbegrepp.
Så om du inte förstår, ge exempel på hur en sökning skall initieras 2 milj poster är inga problem.

Medlem sedan sep. 2001175 inlägg
#5

Själva problemet tror jag sitter i att skriva ut all data.
Ponera att det är 20 000 poster jag ska ta ut.
Till varje post kan det vara upp till 14 kopplingar till, där det är text som jag vill plocka ut, rad för rad.

Mycket därför allt tar en enorm tid.
Jag tar i dagsläget ut allt i kopplingarna via ID sammankopplingar.
Men det tar ändå en jäkla tid och blir inte användarvänligt, när man skall ta ut allt.

Men vi kan vända på min fråga.
Säg att jag har en excel fil på 20 000 poster.
Excel fil är ju inte allt för snabba att läsa ifrån.

Jag vill via excel filen som innehåller telefonnr och adresser mata in data till databasen.
Där vill jag att den istället för att den ska stå och ladda och ladda och ladda.

Istället visa 10 / 20 000 poster inmatade.. 100 / 20 000 poster inmatade, allt eftersom.

Därför jag nappade på yohpops ide.

Medlem sedan mars 2001270 inlägg
#6

Men gör så som du säger vettja.

Skriv ut ett meddelande på skärmen efter 100 poster är skapade. Lägg in en counter

IF Request.Querystring("intLastCount") <> "" then intCounter = 0 else intCounter = Request.Querystrin("intLastCount")
Do UNTIL intCounter = intCounter + 100
' SLÄNG IN DIN DATA HÄR
intCounter = intCounter + 1
Loop
Response.Write(intCounter+100 & "/20 000 poster klara")
Response.Redirect("sida.asp?intLastCount=" & intLastCount + 100)

Sen får du väl lägga in en IF sats som kollar när du är EOF också så du inte fastnar :)
Osv..

282 ms totalt · 4 externa anrop · v20260731065814-full.6fe65c25
126 ms — deklarationer (db)
0 ms — hämta statistik (cache)
149 ms — hämta tråd, inlägg och bilagor (db)
129 ms — ändringar (db)