Fetstil Fetstil Kursiv Understrykning linje färgläggning tabellverk Punktlista Nummerlista Vänster Centrerat högerställt Utfyllt Länk Bild htmlmode
  • Forum & Blog
    • Forum - översikt
      • .Net
        • asp.net generellt
        • c#
        • vb.net
        • f#
        • silverlight
        • microsoft surface
        • visual studio .net
      • databaser
        • sql-server
        • databaser
        • access
        • mysql
      • mjukvara klient
        • datorer och komponenter
        • nätverk, lan/wan
        • operativsystem
        • programvaror
        • säkerhet, inställningar
        • windows server
        • allmänt
        • crystal reports
        • exchange/outlook
        • microsoft office
      • mjukvara server
        • active directory
        • biztalk
        • exchange
        • linux
        • sharepoint
        • webbservers
        • sql server
      • appar (win/mobil)
      • programspråk
        • c++
        • delphi
        • java
        • quick basic
        • visual basic
      • scripting
        • asp 3.0
        • flash actionscript
        • html css
        • javascript
        • php
        • regular expresssion
        • xml
      • spel och grafik
        • DirectX
        • Spel och grafik
      • ledning
        • Arkitektur
        • Systemutveckling
        • krav och test
        • projektledning
        • ledningsfrågor
      • vb-sektioner
        • activeX
        • windows api
        • elektronik
        • internet
        • komponenter
        • nätverk
        • operativsystem
      • övriga forum
        • arbete karriär
        • erbjuda uppdrag och tjänster
        • juridiska frågor
        • köp och sälj
        • matematik och fysik
        • intern information
        • skrivklåda
        • webb-operatörer
    • Posta inlägg i forumet
    • Chatta med andra
  • Konto
    • Medlemssida
    • Byta lösenord
    • Bli bonsumedlem
    • iMail
  • Material
    • Tips & tricks
    • Artiklar
    • Programarkiv
  • JOBB
  • Student
    • Studentlicenser
  • KONTAKT
    • Om pellesoft
    • Grundare
    • Kontakta oss
    • Annonsering
    • Partners
    • Felanmälan
  • Logga in

Hem / Forum översikt / inlägg

Posta nytt inlägg


Optimera med GetString() eller GetRows()

Postades av 2002-10-10 08:09:23 - Martin Söderlund, i forum asp - allmänt, Tråden har 3 Kommentarer och lästs av 451 personer

Jah har läst igenom tre artiklar om metoderna GetString och GetRows här på Pellesoft men förstår inte så mycket.. Hur kan man optimera denna kod med någon av dessa två metoder?

<% Dim fCn, fRs, fstrSQL, postDate, fCountSQL, fCountRs, fPage, fRowCount, fPageCounter, fTopics
fPage = Request.Querystring("fPage")
If fPage="" Then fPage=1
fRowcount=0

Set fCn = Server.CreateObject("ADODB.Connection")
Set fRs = Server.CreateObject("ADODB.Recordset")
fCn.Open "Driver={Microsoft Access Driver (*.mdb)}; DBQ=" & Server.MapPath("forum/db_forum.mdb") & ";pwd=" & Password & ";"

fstrSQL = "Select * From tbl_forum Order By Last_Date Desc"
fRs.Cursortype=3
fRs.Pagesize=30
fRs.Open fstrSQL, fCn %>

<% If fRs.EOF Then Response.Write "Inga poster än.." Else fRs.Absolutepage=cInt(fPage) %>
<% If fRs.Recordcount>0 Then %>
<table cellpadding="2" cellspacing="1" border="0"><tr><td width="250">Ämne:</td><td width="120">Skribent:</td><td width="40"><center>Svar:</center></td><td width="100">Datum:</td></tr><% End If %>
<% Do While Not fRs.EOF and fRowcount < fRs.Pagesize%>
<tr><td>"><%=fRs("Topichead")%></td><td><%=fRs("Name")%></td><td><center><% fCountSQL = "Select Count(TopicId) From tbl_answers Where TopicId=" & fRs("Id")
Set fCountRs = fCn.Execute(fCountSQL)%><%=fCountRs(0)%></center></td><td><%=Left(fRs("Date"),16)%></td></tr>
<% fRs.Movenext
fRowcount = fRowcount + 1
Loop %>
<% If fRs.Recordcount>0 Then %></table><p><% End If %>
<% Dim fAntal
fAntal = fRs.Recordcount
If fAntal > 30 Then %>
<img src="graphics/line.gif" width="544" height="11"><br>
<% For fPagecounter = 1 to fRs.Pagecount %>
<%=fPagecounter%><% Next %><img src="graphics/line.gif" width="544" height="11">
<% End If %>

<% fRs.Close : Set fRs = Nothing
fCn.Close : Set fCn = Nothing %>


Svara

Sv: Optimera med GetString() eller GetRows()

Postades av 2002-10-10 09:46:10 - Magnus Gladh

Innan du gör det så läs mitt lilla test om GetRows och movenext som jag gjorde..

http://www.gladh.nu/asphelp/svar22.html

- M


Svara

Sv: Optimera med GetString() eller GetRows()

Postades av 2002-10-10 10:41:33 - Andreas Hillqvist

För att få ett mer avgörande test tycker jag du skall placera Start koden efter du öppnat recordset'et och stopp koden innan close på recordset'et.
Alltså bara omge själva behandlingen av data. Det är det skillnaden ligger.

Dessutom använder du inte fält variabler för for loopen. Vilket kan snabba upp den.


Svara

Sv: Optimera med GetString() eller GetRows()

Postades av 2002-10-10 11:05:45 - Andreas Hillqvist

Har snyggat till din kod. Blanda annta tagit bort din Execut i loopen. Vilket inte är något vidare effektivt. Du hade dessutom glömt att stänga det efter dig.<br>
<br>
Tyvärr blir det svårt att använda GetString i ditt fall. Eftersom du inte har samma avgänsning mellan kolumneran. Men din kod bör vara lite snabbare. Kanske inte så smart att läga en subquery i urvalet om du har allt för många poster. Testa och se vilket som är snabbast. Men om du ska öppna recordsetet i loopen se då till att inte använda Execute metoden. Utan sätt Recordset'et utanför loopen och öpppna och stäng det istället.:
<code>
<%
Dim fCn, fRs, postDate, fPage, fRowCount, fPageCounter, fTopics
Dim fAntal
Const Pagesize = 30
fPage = Request.Querystring("fPage")
If fPage="" Then fPage=1
fRowcount=0

Set fCn = Server.CreateObject("ADODB.Connection")
fCn.Open "Driver={Microsoft Access Driver (*.mdb)}; DBQ=" & Server.MapPath("forum/db_forum.mdb") & ";pwd=" & Password & ";"

Set fRs = Server.CreateObject("ADODB.Recordset")

fRs.Pagesize=Pagesize
fRs.Open "Select *, (SELECT Count(*) FROM tbl_answers WHERE tbl_answers.TopicId=tbl_forum.Id) As Antal FROM tbl_forum Order By Last_Date Desc", fCn, 3
If fRs.EOF Then
Response.Write "Inga poster än.."
Else
fRs.Absolutepage=cInt(fPage)
%>
<table cellpadding="2" cellspacing="1" border="0"><tr><td width="250">Ämne:</td><td width="120">Skribent:</td><td width="40"><center>Svar:</center></td><td width="100">Datum:</td></tr>
<%
Do Until fRs.EOF and fRowcount < Pagesize
%>
<tr><td>"><%=fRs("Topichead")%></td><td><%=fRs("Name")%></td><td><center><%=fRs("Antal")%></center></td><td><%=Left(fRs("Date"),16)%></td></tr>
<%
fRs.Movenext
fRowcount = fRowcount + 1
Loop
Response.Write "</table><p>"
End If

fAntal = fRs.Recordcount
If fAntal > Pagesize Then
%>
<img src="graphics/line.gif" width="544" height="11"><br>
<%
For fPagecounter = 1 to fRs.Pagecount
%>
<%=fPagecounter%>
<%
Next
%>
<img src="graphics/line.gif" width="544" height="11">
<%
End If

fRs.Close
Set fRs = Nothing

fCn.Close
Set fCn = Nothing
%>
</code>


Svara

Nyligen

  • 08:28 Butiksskyltar: Hur upplever utbude
  • 22:31 Slappna av
  • 19:55 kick-off med fokus på hälsa?
  • 19:53 kick-off med fokus på hälsa?
  • 16:24 Föreslå en skönhetsklinik online
  • 16:23 Föreslå en skönhetsklinik online
  • 18:42 Hvor finder man håndlavede lamper
  • 18:41 Hvor finder man håndlavede lamper

Sidor

  • Hem
  • Bli bonusmedlem
  • Läs artiklar
  • Chatta med andra
  • Sök och erbjud jobb
  • Kontakta oss
  • Studentlicenser
  • Skriv en artikel

Statistik

Antal besökare:
Antal medlemmar:
Antal inlägg:
Online:
På chatten:
4 570 812
27 960
271 761
5 648
0

Kontakta oss

Frågor runt konsultation, rådgivning, uppdrag, rekrytering, annonsering och övriga ärenden. Ring: 0730-88 22 24 | pelle@pellesoft.se

© 1986-2013 PelleSoft AB. Last Build 4.1.7169.18070 (2019-08-18 10:02:21) 4.0.30319.42000
  • Om
  • Kontakta
  • Regler
  • Cookies