webForumDet fria alternativet

Hjälp med SQL sats

ASP

15 svar · 337 visningar · startad av plelkes

Medlem sedan mars 2002823 inlägg
Frågan#1

Hej,
förutsättningarna är:databas som heter adressbok, med 4 fält bla ID
en variabel adressID som tilldelas värdet som kolumnen ID har - detta för identifikation
<a href="redigera1.asp?adressID=<% =RecSet("ID") %>">
Redigera denna adress</a>
/list]
Jag har kommit så långt att:
SQL = SELCT * FROM adressbok WHERE ID=.....

När jag provade Access fråga skapar funktion och och satte vilkoret i ID fältet till Request.QueryString("adressID")

SELECT adressbok.ID, adressbok.Fornamn, adressbok.Efternamn, adressbok.Adress, adressbok.ID
FROM adressbok
WHERE (((adressbok.ID)=Request.QueryString("adressID")));

[
stämmer detta?
varför använder inte access * ?

Medlem sedan nov. 2001348 inlägg
#2

Du kan använda *..

jag skulle gjort så:

SELECT * FROM adressbok WHERE ID = Request.QueryString("adressID")

Om du nu vill använda * ;)

Medlem sedan jan. 20032 285 inlägg
#3

/red Glöm det :p *Är vimsig*

Medlem sedan mars 2002823 inlägg
#4

Tack för era inlägg nisslass och Sebbe!

Menar ni att uttrycken

WHERE adressbok.ID = " & Request.QueryString("adressID")
och

WHERE ID = Request.QueryString("adressID")

är identiska?
Vilka fördelar/nackdelar har dessa?

Medlem sedan jan. 20032 285 inlägg
#5

Du kan strunta i mitt inlägg. Lyssna på nisslass istället ;)

Medlem sedan mars 2002823 inlägg
#6

Ok jag skall, men jag tänkte förtydliga mig lite:

  1. det handlar om en redigeringssida
  2. För att kunna välja vilken post som skall redigeras har varje post fått en länk som innehåller variabeln adressID
  3. adressID=<% =RecSet("ID") %>
  4. och länken: <a href="redigera1.asp?adressID=<% =RecSet("ID") %>">Redigera </a>

Gäller fortfarande nislass´ förslag

SELECT * FROM adressbok WHERE ID = Request.QueryString("adressID")
Medlem sedan nov. 2001348 inlägg
#7

jaa, det ska funka..

Medlem sedan dec. 200012 464 inlägg
#8

Nej, så går det inte att skriva, det skall vara

WHERE adressbok.ID = " & Request.QueryString("adressID")
Medlem sedan nov. 2001348 inlägg
#9

oj, ja förlåt.. slarvfel.. Larsa fixar biffen..

Medlem sedan jan. 20032 285 inlägg
#10

Fasst, LarsG, jag tror inte att han har flera tabellet i databasen, så det räcker väl med

WHERE ID = " & Request.QueryString("adressID")

Eller?

Medlem sedan mars 2002823 inlägg
#11

Det stämmer, jag har bara en tabell...

Men hur skall uttrycket tolkas? (dvs på rent svenska)

WHERE ID = " & Request.QueryString("adressID")
  • och hur skall jag lära mig att tänka ut liknande uttryck i framtiden?

Vill ju inte behöva kontakta wf varje gång*ler*

Medlem sedan dec. 200012 464 inlägg
#12

Vad som finns i databasen har ingen betydelse, det är bara vilka tabeller som finns med i from-listan som spelar roll, så i detta fall behövs ingen kvalificering av kolumnnamnet.

Medlem sedan mars 2002823 inlägg
#13

dessutom fattas det inte

WHERE ID = " & Request.QueryString("adressID")

ett "

Medlem sedan dec. 200012 464 inlägg
#14

Det som händer att du sätter ihop en sträng och lagrar värdet i variabeln SQL

SQL = "select * from gbook where id = " & request.querystring("id")

efter sammanslagningen kan då variabeln SQL innehålla

select * from gbook where id = 4711

och det är som skickas till databashanteraren.

Medlem sedan mars 2002823 inlägg
#15

ursäkta LarsG, men nu fattar jag om möjligt ännu mindre???????

Det som händer att du sätter ihop en sträng

på vilket sätt sätter jag ihop strängen? och borde då inte strängen vara innesluten i "??

SQL = "select * from gbook where id = " & request.querystring("id")

efter sammanslagningen kan då variabeln SQL innehålla

select * from gbook where id = 4711

detta är väl om länken pekar på post nummer 4711 - eller?

" i nedanstående

SQL = "select * from gbook where id = " & request.querystring("id")

är ett slarvfel eller?

Medlem sedan jan. 20032 285 inlägg
#16

Nej, det är inget slarvfel. Innan man använder en variabel eller liknande i en SQL-sträng, Response.Write-sträng, m.fl måste man "avsluta" srängen med en " och sedan lägga in variabeln, eller värdet efter ett &-tecken. (Hoppas LarsG kan förklara bättre :p)

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