webForumDet fria alternativet

Hämta från databas snabbt.

ASP

7 svar · 259 visningar · startad av KoTTeN

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

Hej!
Vad är bäst och snabbast att använda då man hämtar data från en tabell?

Set RecSet=Conn.Execute("SELECT kolumn1, kolumn2 FROM tabel Where varde="ett varde"")
  StrArr = RecSet.getrows()
RecSet.Close 
Set RecSet = Nothing
SQL = "SELECT kolumn1, kolumn2 FROM tabel WHERE varde="ett varde""
RecSet.Open SQL, Connect, 3, 3
  StrArr = RecSet.getrows()
RecSet.Close 
Set RecSet = Nothing
Medlem sedan okt. 200328 inlägg
#2

Det är ingen skildnad på hastigheten.

Men kör med den första. Den är inte beroende av serverns ODBC.

Ha en trevlig helg

Rickard

Medlem sedan sep. 20011 722 inlägg
#3

Ok, då vet jag.
Tack detsamma!

Medlem sedan sep. 20011 722 inlägg
#4

Hmm. En följdfråga: Vad är ODBC? :) :r

Medlem sedan feb. 20013 023 inlägg
#5

Ett mellanlager som översätter dina kommandon till ett språk som databasen kan förstå. Nuförtiden finns OLEDB som är bättre och snabbare.

Medlem sedan juni 200032 967 inlägg
#6

Inget av exemplen fungerar i sig (använd apostrofer som strängliteraler i SQL), men jag skulle vilja ha ett mellanting:

SQL = "SELECT kolumn1, kolumn2 FROM tabel WHERE varde="ett varde""
set RecSet = Connect.Execute (SQL)
[b] if not RecSet.EOF Then[/b] StrArr = RecSet.getrows()
RecSet.Close 
Set RecSet = Nothing

Kontrollera alltid att inte recordsetet är tomt innan du försöker använda det. Annars kommer du få ett felmeddelande om recordsetet är tomt.

Medlem sedan sep. 20011 722 inlägg
#7

Sant Anders. Lika observant som allltid.

Medlem sedan feb. 200112 078 inlägg
#8

@nders skrev:

Inget av exemplen fungerar i sig (använd apostrofer som strängliteraler i SQL), men jag skulle vilja ha ett mellanting:

SQL = "SELECT kolumn1, kolumn2 FROM tabel WHERE varde="ett varde""
set RecSet = Connect.Execute (SQL)
[b] if not RecSet.EOF Then[/b] StrArr = RecSet.getrows()
RecSet.Close 
Set RecSet = Nothing

Kontrollera alltid att inte recordsetet är tomt innan du försöker använda det. Annars kommer du få ett felmeddelande om recordsetet är tomt.

Nja. De där fnuttarna i SQL-en kan ställa till det för sig.

SQL = "SELECT kolumn1, kolumn2 FROM tabel WHERE varde='ett varde'"
set RecSet = Connect.Execute (SQL)
[b] if not RecSet.EOF Then[/b] StrArr = RecSet.getrows()
RecSet.Close 
Set RecSet = Nothing
259 ms totalt · 4 externa anrop · v20260731065814-full.86ec41c2
123 ms — deklarationer (db)
0 ms — hämta statistik (cache)
132 ms — hämta tråd, inlägg och bilagor (db)
125 ms — ändringar (db)