webForumDet fria alternativet

Förbättring av SQL-fråga

9 svar · 305 visningar · startad av iceM2

iceM2Medlem sedan mars 2001243 inlägg
#1

Har en sida där jag räknar klick på länkar och den utför följande saker:
1. Lägger till ett klick i fältet Klick
2. Letar fram rätt länk

dbConnect dbUrl, Connection
strSQL = "UPDATE Lankar SET Klick = Klick + 1 WHERE ID = " & iLankID & ""
Connection.Execute(strSQL)
strSQL = "SELECT Url FROM Lankar WHERE ID =" & iLankID & ""
arrUrl = Connection.Execute(strSQL).GetRows()
Connection.Close
Set Connection = Nothing

Min fråga är om det går att förbättra SQL-satsen? Som det är nu kör jag Connection.Execute 2 gånger och använder mig av två olika SQL-fråge värden, går det att baka ihop detta till en enda? Någon som vet en given förbättring (EJ SP, ska anv det senare)?

RE: Bör tillägga att jag använder GetRows() för att hämta en länkadress, är detta onödigt?

------------------
Ar i USA for tillfallet, kan ej anvanda svenska tecken, sorry...

[Redigerat av iceM2 den 12 jan 2002]

VideMedlem sedan dec. 19998 577 inlägg
#2

Såhär skulle jag ha skrivit:

dbConnect dbUrl, Connection
strSQL = "UPDATE Lankar SET Klick = Klick + 1 WHERE ID = " & iLankID & ";SELECT Url FROM Lankar WHERE ID =" & iLankID
strUrl = Connection.Execute(strSQL)( "Url" )
Connection.Close
Set Connection = Nothing

------------------
Mostly Harmless

iceM2Medlem sedan mars 2001243 inlägg
#3

Tack för svaret Vide, precis vad jag sökte!

------------------
Ar i USA for tillfallet, kan ej anvanda svenska tecken, sorry...

iceM2Medlem sedan mars 2001243 inlägg
#4

Din SQL-sats fungerar inte Vide! Jag får ett felmeddelande som säger något i stil med "tecken i slutet av SQL-fråga saknas"

Gör jag istället på detta vis fungerar det bra:

strSQL = "UPDATE Lankar SET Klick = Klick + 1 WHERE ID = " & iLankID & ""
strSQL = "SELECT Url FROM Lankar WHERE ID =" & iLankID & ""

Är det en märkbart sämre lösning, prestandamässigt? Jag använder Access, kanske därför din fråga strular.

------------------
Ar i USA for tillfallet, kan ej anvanda svenska tecken, sorry...

[Redigerat av iceM2 den 12 jan 2002]

VideMedlem sedan dec. 19998 577 inlägg
#5

Vilken version av Access kör du?

Testa att lägg till & ";" på min sql-sträng...

Din senaste kod kommer inte att uppdatera någonting eftersom du skriver över den variabeln på nästa rad.

------------------
Mostly Harmless

iceM2Medlem sedan mars 2001243 inlägg
#6

Jag kör med Access 2002

------------------
WF-diggare

iceM2Medlem sedan mars 2001243 inlägg
#7

Nejdu Vide det hjälpte inte det heller, fortfarande samma felmeddelande :(

------------------
WF-diggare

LarsGMedlem sedan dec. 200012 464 inlägg
#8

Så vitt jag vet så tillåter inte Access att man anger flera sql-frågor i ett execute-anrop.

------------------
essentitia preter non sans multiplicandum

iceM2Medlem sedan mars 2001243 inlägg
#9

Det var som fanken x( Hmm då måste jag ju köra med två execute-anrop, det känns ju lite onödigt :l

------------------
WF-diggare

iceM2Medlem sedan mars 2001243 inlägg
#10

Vide, vet inte du någon bättre lösning som fungerar med ACCESS? Du har ju min första kod som utgångspunkt ;)

------------------
Webforum, min startsida på Internet.

134 ms totalt · 3 externa anrop · v20260731065814-full.7de19299
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
131 ms — hämta tråd, inlägg och bilagor (db)