webForumDet fria alternativet

Osäker på fnuttar

ASP

7 svar · 390 visningar · startad av eddy1

Medlem sedan aug. 2001969 inlägg
Frågan#1

skit svårt det där med fnuttar ju, Finns det två olika sätt att hantera dom på eller?? Antingen enkla fnuttar eller vanliga?
Hursomhelst så är dom två SQL satserna jag är osäker på ??
Om någon hade tid och kika så vore det kanon...

SQL = "Select * From clicks Where file =" & Request.Querystring("file") & " "

Set Dbq = Con.Execute(SQL)

If Dbq.EOF Then

Else

Nrc = Dbq("Nr") + (1)
Dbq.Close
SQL = "UPDATE clicks SET Nr =" & Nrc & "Where File =" & Request.Querystring("File") & " "

Set Dbq = Con.Execute(SQL)
Medlem sedan mars 20021 889 inlägg
#2

I princip är det som så att du:
- i ASP använder " för att avsluta (eller påbörja) en sträng, antingen för gott eller för att lägga till ett variabelvärde. Exempel 1:
strSQL = "select from tabell where id =" &min_id_variabel
Exempel 2:
strSQL = "select from tabell where id = 2"
- i din SQL-sträng använder ' runt omkring icke-numeriska värden. Exempel 3:
strSQL = "select from tabell where namn = 'nisse'"
I stället för nisse kan du infoga en variabel. Exempel 4:
strSQL = "select from tabell where namn = '"&nisse_variabel

Hoppas att det klarnade!? :)

Medlem sedan dec. 200012 464 inlägg
#3

I sql skall man alltid använda ' för att avgränsa strängar.

SQL = "Select * From clicks Where file ='" & replace(Request.Querystring("file"),"'","''") & "'"

du behöver även ta hänsyn till om värdet innehåller en '

Om man vill söka på strängen De'G så ser det ut som

select * from t wher name = 'De''G'

Om man gör replace enligt mitt första exempel så fungerar det altid.

Medlem sedan sep. 20011 722 inlägg
#4

Apostrof (") används när du ska tilldela eller skriva ut en variabel eller ett värde som innehåller text. Exempelvis MinText = "Test" eller " & Request.Querystring("MinText") & "

Enekelfnutt (') använder du i SQL då du ska definiera en sökning. Exempelvis Select * from data where Text = 'min text'

Om du däremot ska tilldela en variabel eller söka i en databas med ett tal omsluts talet inte av någonting alls. Exempel: MittTal = 10 eller Select * from data where IDnummer = 13

Ska du söka i en databas och söka i ett texfält som du hämtar dynamiskt med exempelvis Querystring måste du först omge värdet du söker på med enkelfnutt och sedan Querystring med apostrof. Exempelvis Select * from data where Text = '" Request.QueryString("soktext") "'

Krångligt att förklara, men hoppas du förstår.

Medlem sedan juni 200032 967 inlägg
#5

Apostrof (") ......
Enekelfnutt (') .......

Nu ska vi vara försiktiga med att blanda ihop saker.

Apostrof är ', dvs enkelfnutt.
Dubbelfnutt är " och heter citationstecken.

Medlem sedan aug. 2001969 inlägg
#6

Okey börjar fatta lite..
men jag blir osäker på den andra SQL satsen! Rör till det med & tecknen och..

SQL = "Select * From clicks Where file ='" & Request.Querystring("file") & "'"

SQL = "UPDATE clicks SET Nr = " & Nrc &" Where File ='" & Request.Querystring("File") & "'"

När jag hämtar ett numeriskt värde ur en variabel så blir det väll bara Citationstecken?
T.ex
SET Nr = "& variabel &"
Men sen så vill jag ha & tecknen utanför citationstecknen.
Tex.
SQL = "UPDATE clicks SET Nr =" & variabel & "Where file =" & request.Querystring("File") & "

Så hur ska SQL satserna Se ut korrekt, kan dom se ut på flera sätt..

Medlem sedan nov. 20017 144 inlägg
#7

"Nrc" är ett nummeriskt värde och skall inte omslutas med apostrofer, medans querystringen är en sträng och skall alltså ha apostrofer. Om du skaffar en kodeditor med kodfärgning så kommer du tydligt se vad som händer i koden. :)

SQL = [blue]"UPDATE clicks SET Nr = "[/blue] & [red]Nrc[/red] &[blue]" Where File ='"[/blue] & [red]Request[/red].[red]Querystring[/red]([blue]"File"[/blue]) & [blue]"'"[/blue]
Medlem sedan aug. 2001969 inlägg
#8

Ha ha

Nu har jag nog fattat hur det går till, skulle bara få huvudet till att tänka rätt....

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