webForumDet fria alternativet

bestämmt mig för att lära mig ASP

ASP

13 svar · 312 visningar · startad av plelkes

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

Efter att ha lekt runt med Ultradev, har jag bestämmt mig för att lära mig koda... Nu har jag ngra nybörjar frågor:

  • från Erik Ronne´s bok:

SQL = "SELECT * From Fåglar WHERE Fågel = '" & Fagel & "'"

kan ngn föklara exakt vad
= '" & Fagel & "'" betyder?

Medlem sedan maj 20003 652 inlägg
#2

Jag är inte så hemma på ASP (PHP är mer min grej :)) men jag skulle gissa på att det betyder att man tar ut alla rader i databasen som innehåller Fagel (gissar på att &-tecknen är där för att visa att det får vara mer text och värden där, bara Fagel finns med) ... :)

Medlem sedan mars 20015 287 inlägg
#3

Fagel är en variabel som du innan du kör den där frågan måste ha gett ett värde. Typ:

Fagel = "Domherre"

Frågan blir typ på Svenska:

Plocka ut alla fält i alla rader ur tabellen Fåglar där fältet i kolumnen Fagel är lika med Domherre.

Medlem sedan feb. 200112 078 inlägg
#4

gissar på att &-tecknen är där för att visa att det får vara mer text och värden där, bara Fagel finns med

Nej, de är inte där pga det. Det är en såkallad strängkonkatenering, som visar att här vill vi inkludera något från ASP i vår textsträng eller tvärt om. ;) Man klipp-klistrar med &, kan man säga.

Medlem sedan nov. 20017 144 inlägg
#5

Ni skriver "alla fält".... ?
Alla fält blir det väl inte för ens man gör en loop.

Medlem sedan dec. 20003 887 inlägg
#6

Jo, eftersom det du frågar är angående SQL och inte ASP. En SELECT returnerar alla rader (eller kolumner man väljer) ur en databas, som stämmer med det villkor man ställt.

Medlem sedan mars 2002823 inlägg
#7

fattar fortfarande inte*snyft*

'" & Fagel & "'"

är väl samma sak som

'a'

där a är en textsträng
Men:

  1. varför de dubbla citat-tecknen?
  2. kan ngn förklara ( - gärna med exempel eller url) vad som menas med och hur används i praktiken: strängkonkatenering
Medlem sedan mars 2002823 inlägg
#8

PS.
har försökt söka på SQL +strängkonkatenering hos google, men inte blev jag klokare för det...

Medlem sedan feb. 200112 078 inlägg
#9

En sträng

str = "Jag heter "

En strängkokatenering

nameVar = "Stefan"
str = "Jag heter " & nameVar

Mer

nameVar = "Stefan"
ageVar = "25"
str = "Jag heter " & nameVar & " och jag är " & ageVar & " år gammal."

Anledningen till att det är apostrofer där uppe är att värdet som skall jämföras med databasen måste inneslutas i ' om fältet är av typen Text eller liknande.

Alltså skulle din SQL kunna se ut såhär:

SELECT * From Fåglar WHERE Fågel = 'Blåmes'
Medlem sedan mars 2002823 inlägg
#10

Tack OveRRidE
nu börjar det klarna lite:

  • så med & behöver jag inte ha (dubbla)citat-tecken?
  • vad heter strängkokatenering på engelska?
Medlem sedan feb. 200112 078 inlägg
#11

Kort förklaring:

1. Första " är till för att förklara; här börjar strängen.
2. Sen skriver vi SELECT * FROM.. osv.
3. Efter det, slutar strängen och vi vill ha in ett värde; alltså sätter vi en ny ". Eftersom fältet är av typen text i databasen använder vi en ' (apostrof) före vår ".
4. Därpå kommer &. Den talar om för koden att nu vill vi sätta ihop något här.
5. Sedan kommer variabeln.
6. Ytterligare en & för att markera att variabeln 'slutar'.
7. Vi fortsätter strängen genom att sätta en " och avslutar inmatningen av datat med ' (eftersom det är ett textfält).
8. Ytterligare en " för att stänga hela strängen.

Krångligt? Enklare blir det inte. ;)

Medlem sedan dec. 20003 887 inlägg
#12

Konkatenering är svengelska för kedja samman, länka samman, sammanfoga.... Eng. concatenate

Medlem sedan dec. 20003 887 inlägg
#13

/r felklick...

Medlem sedan mars 2002823 inlägg
#14

Gjorde en ny sökning: SQL +string +concatenate på google. Nu fick jag iaf 10800 träffar

255 ms totalt · 4 externa anrop · v20260731065814-full.86ec41c2
124 ms — deklarationer (db)
0 ms — hämta statistik (cache)
128 ms — hämta tråd, inlägg och bilagor (db)
124 ms — ändringar (db)