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


Korkad lösning? två recordset

Postades av 2004-02-02 16:56:05 - Max Edlund, i forum asp - allmänt, Tråden har 4 Kommentarer och lästs av 529 personer

Hejsan!

För att få olika färg på "lästa länkar" krävs inloggning som sedan lägger till användarId och textId i en tabell varje gång en nyhet läses.

Varje länk loopar igenom tabellen för att se om id:t finns. Sidan innehåller ca 25 länkar och tabellen kommer förmodligen att krypa upp emot 5000 poster innan jag tömmer den. Nu är frågan om min kod är förkastlig ur prestandasynvinkel?
Tacksam för synpunkter!

/mvh Max

<code>

<%
userId = Session("userId")

Set Conn = Server.CreateObject("ADODB.Connection")
Conn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.MapPath("\db\db1.mdb")
Set RecSet = Server.CreateObject("ADODB.Recordset")
Set RecSet2 = Server.CreateObject("ADODB.Recordset")

SQL = "qNyhetGrupp1 '" & datum & "'"
RecSet.Open SQL

do until RecSet.eof

set rubrik = Recset("rubrik")
set ID = RecSet("textID")

'stämmer av mot lästa länkar-tabellen
SQL = "q_Lasta_Nyheter_ensk '" & userId & "', " _
& "'" & ID & "'"

RecSet2.Open SQL, Conn
do until RecSet2.EOF

finns = RecSet2("textId")

RecSet2.MoveNext
loop
RecSet2.close

%>

<li>

<%
if finns = ID then
response.write(rubrik)

Else
response.write("" & rubrik & "")
End If%>





<%
RecSet.MoveNext
loop
end if
RecSet.Close%>
</a>
</code>


Svara

Sv: Korkad lösning? två recordset

Postades av 2004-02-02 17:44:38 - Oskar Johansson

Titta lite på join i sql, det är precis vad du letar efter! :)


Svara

Sv: Korkad lösning? två recordset

Postades av 2004-02-03 17:41:20 - Max Edlund

Har kollat. Kom fram till att:

<code>
SELECT TOP 5 [tNyheter].[textID], [tNyheter].[rubrik], [t_Lasta_Lankar].[anvId], [tNyhetsDel].[delId]
FROM tNyhetsDel INNER JOIN (tNyheter INNER JOIN t_Lasta_Lankar ON [tNyheter].[textID]=[t_Lasta_Lankar].[textId]) ON [tNyhetsDel].[delId]=[tNyheter].[del]
WHERE ((([tNyheter].[textID])=[t_Lasta_Lankar.textId]) And (([t_Lasta_Lankar].[anvId])=["anvandare"]) And (([tNyhetsDel].[delId])=["del"]))
</code>

plockar fram de 5 översta nyheterna
- från rätt nyhetsdel
- som är lästa av den användaren som är inloggad

Men hur använder jag inner join för att blanda både lästa och olästa och sedan skilja ut dem med färg? Kommer inte längre med min tröga hjärna...

mvh Max


Svara

Sv: Korkad lösning? två recordset

Postades av 2004-02-04 10:12:33 - Max Edlund

Ingen?
Andreas H, du är en hejare på det här.


Svara

Sv: Korkad lösning? två recordset

Postades av 2004-02-05 13:45:21 - Max Edlund

Hej

Nu har jag kommit fram till en lösning som jag tror är effektiv.
Kommentarer mottages varmt.

<code>
<%
'Hämta både lästa och olästa 5 översta nyheter från rätt nyhetsgrupp
SQL = "Select TOP 5 del, rubrik, textID, datum from tNyheter where del = 3"

RecSet.open SQL

if not RecSet.EOF then
arr1 = RecSet.GetRows()
RecSet.close

For i = 0 TO uBound(arr1,2)

del=arr1(0,i)
rubrik=arr1(1,i)
textId=arr1(2,i)

response.write("</font><li> & ">")

'Hämta lästa nyheter ur gruppen
SQL = "SELECT TOP 5 *
FROM tNyhetsDel INNER JOIN (tNyheter INNER JOIN
t_Lasta_Lankar ON [tNyheter].[textID]=[t_Lasta_Lankar].
[textId]) ON [tNyhetsDel].[delId]=[tNyheter].[del]_
WHERE ((([tNyheter].[textID])=[t_Lasta_Lankar.textId]) And
(([t_Lasta_Lankar].[anvId])=["anvandare"]) And (([tNyhetsDel].
[delId])=["del"]))"

RecSet.Open SQL

if not RecSet.EOF then
arr2 = RecSet.GetRows()
RecSet.Close

For x = 0 TO uBound(arr2,2)

last=arr2(0,x)
if textId = last then
response.write("")
end if
next
else RecSet.close
end if

response.write(rubrik & "

")

next
else
RecSet.close
end if
%>
</code>

mvh Max


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 791
27 960
271 761
5 960
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