webForumDet fria alternativet

uppdatera en viss kolum

ASP

7 svar · 512 visningar · startad av n1kke

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

hur gör man när man vill ändra i en viss kolum där det redan finns något

pres = Request.Form("pres")

conn.execute("Update panda set pres=pres where alias ='" & Session("user") & "'")

till exempel

det funkade ej=) så hur gör man

Medlem sedan jan. 20022 440 inlägg
#2
pres = Request.Form("pres")

Conn.execute("Update panda set pres='" & pres & "' where alias ='" & Session("user") & "'")

Är det ett numeriskt värde så tar du bort enkelfnuttarna ' och har barra " & pres & "

pres = Request.Form("pres")

Conn.execute("Update panda set pres= " & pres & " where alias = " & Session("user") & "")
Medlem sedan juni 200032 967 inlägg
#3

Du konkatenerar ju redan in värdet från sessionsvariabeln, så det är bara att konkatenera in det andra också.

conn.execute("Update panda set pres='" & pres & "' where alias ='" & Session("user") & "'")

Glöm inte bort att säkra din kod för SQL-injections.

Medlem sedan aug. 200634 inlägg
#4

nej det är inte ett numeriskt värde det är text

Medlem sedan jan. 20022 440 inlägg
#5

SQL språket använder ' för att ange att det är text som ska sättas in

insert into tblTable(col1, col2) Values('text', 123)

Så om du har en variabel som du vill slänga in som ska passa in mot datatypen text så måste du berätta detta för SQL frågan

variabel1 = "text"
variabel2 = 345364
objConn.Execute(insert into tblTable(col1, col2) values(' " & variabel1 & " ', " & variabel2 & " "))

" använder du för att växla mellan kod och sträng/text läge och & använder du för att binda ihop strängar.

Medlem sedan aug. 200634 inlägg
#6

fick rätt på det men @nders hur hindrar man SQL-injection

Medlem sedan juni 200032 967 inlägg
#7

Det viktigaste är att man ser ut att ta om hand alla apostrofer i inmatade värden. Exempel:

pres = Replace(Request.Form("pres"), "'", "''")

Detta förändrar inte vad som sparas i databasen, men "escapear" strängavgränsaren '. Det innebär att man inte kan medvetet förstöra i databasen genom att mata in det tecknet, men det innebär också att man faktiskt kan lagra det i ett fält.

Medlem sedan feb. 20034 441 inlägg
#8

n1kke skrev:

fick rätt på det men @nders hur hindrar man SQL-injection

Sök på ämnet i det här forumet, finns mängder med trådar ;)

728 ms totalt · 4 externa anrop · v20260731065814-full.a51de22e
126 ms — deklarationer (db)
0 ms — hämta statistik (cache)
135 ms — hämta tråd, inlägg och bilagor (db)
590 ms — ändringar (db)