webForumDet fria alternativet

Uppdatera alla fält (där Id=X) med nya värden.

ASP

14 svar · 277 visningar · startad av qwerty

Medlem sedan jan. 2001391 inlägg
Frågan#1

När man har uppdaterat kanske 10 olika textfält. Finns det då något sätt att uppdatera hela RS eller måste man göra en UPDATE för varje fält som ska uppdateras med nya värden.

------------------
Qwerty

Den som provar han testar...

Medlem sedan dec. 19998 577 inlägg
#2

strSQL = "Update tabell Set fält = 'värde'"

Då kommer alla värden i "fält" att få värdet "värde"...

Eller måste du specifikt ha det via ett RS?

------------------
Vide rox = new Vide();
rox.learn("C#");

webeye.nu

Medlem sedan jan. 2001391 inlägg
#3

Nä, det är så här:

Jag har ett formulär där man i ca 10 olika textfält matar in data som sparas i databasen. På min adminsida har jag ett lika dant formulär där jag öppnar respektive databasfält i rätt textfält. Här kan man sedan redigera texten och sedan trycka på uppdatera. Då undrar jag om jag måste uppdatera varje fält eller om man kan uppdatera alla fälten med bara en Sql-rad, eller om man måste ha en för varje fält?

------------------
Qwerty

Den som provar han testar...

Medlem sedan dec. 19998 577 inlägg
#4

Alltså precis som jag sa ovan... :)

Du anger ju vilka fält som skall uppdateras med din Where-sats, och har du en gemensam nämnare för alla dina tio fält så är det bara att sätta det som Where-krav.

------------------
Vide rox = new Vide();
rox.learn("C#");

webeye.nu

Medlem sedan jan. 2001391 inlägg
#5

Kalla mig gärna idiot men...

strSQL = "Update tabell1 Set fält = 'värde'" WHERE ID ="& id

Vad ska jag skriva där det står värde, och hur i hela världen ska databasen förstå att den ska uppdatera både namn, adress, telefonnummer, mm enligt de ändringar som är gjorda i formuläret.

Kommer inte alla fält att få samma värde med ditt exempel, istället för att uppdateras med värdena från formuläret eller...?

Så här gör jag nu: (i förkortad version)

id = request.form("id")
namn = request.form("namn")
telnr = request.form("telnr")

SQL = "UPDATE Tabell1 SET [namn] ='"& namn &"' WHERE ID ="& id
SQL2 = "UPDATE Tabell1 SET [telnr] ='"& telnr &"' WHERE ID ="& id

con.execute(SQL)
con.execute(SQL2)
osv, osv

... det måste finnas nåt enklare sätt.

och som sagt. Kalla mig gärna idiot, men jag fattar inte ditt exempel.

------------------
Qwerty

Den som provar han testar...

Medlem sedan juni 200032 967 inlägg
#6
strSQL = "UPDATE Tabell1 SET [namn] ='"& namn &"', [telnr] = '" & telnr & "', [adress] = '" & adress & "' WHERE ID ="& id

osv...

------------------
<A HREF="http://cartman.nu" TARGET=_blank>
can i borrow your goat?
</A>

Medlem sedan mars 20002 836 inlägg
#7
SQL = "UPDATE Tabell1 SET " & _
	"[namn] ='"& namn &"', " & _
	"[telnr] = '" & telnr & "' WHERE ID ="& id

con.Execute(SQL)

cya,
PatrikB

------------------
*Det jämnar ut sig sa han som sket i byxan och satte sig ned*

Medlem sedan mars 20002 836 inlägg
#8

hmmmm, som vanligt .... @nders e snabbast!!!

cya,
PatrikB

------------------
*Det jämnar ut sig sa han som sket i byxan och satte sig ned*

Medlem sedan juni 200032 967 inlägg
#9

förlåt patrik!

jag kan redigera bort mitt svar ovan, om du vill? ;)

------------------
<A HREF="http://cartman.nu" TARGET=_blank>
can i borrow your goat?
</A>

Medlem sedan jan. 2001391 inlägg
#10

Tack, tack båda två...alla 3.

------------------
Qwerty

Den som provar han testar...

Medlem sedan jan. 2001391 inlägg
#11

ledsen att säga det men...

får det inte att funka

SQL = "UPDATE Tabell1 SET " &_
"[namn] ='"& namn &"'," &_
"[telnr] ='"& telnr &"'," &_
"[adress] ='"& adress &"'," &_
"[postnr] ='"& postnr &"'," &_
"[ort] ='"& ort &"'," &_
"[kvot] ='"& kvot &"'," &_
"[betyg] ='"& betyg &"'," &_
"[ggr] ='"& ggr &"'," &_
"[kval] ='"& kval &"'," &_
"[uppgifter] ='"& uppgifter &"'," &_
"[ovrigt] ='"& ovrigt &"'," &_
"[test] ='"& test &"'," &_
"[datum] ='"& datum &"'," &_
"[senast] ='"& senast &"'," &_
"[kon] ='"& kon &"'," &_
"[datum] ='"& datum &"'," &_
"[fraga1] ='"& fraga1 &"'," &_
"[fraga2] ='"& fraga2 &"'," &_
"[fraga3] ='"& fraga3 &"' WHERE ID ="& id

Con.Execute(SQL)

Får följande mess:
Data type mismatch in criteria expression.

...och felet är naturligtvis på execute-raden.

------------------
Qwerty

Den som provar han testar...

[Redigerat av qwerty den 15 jun 2001]

Medlem sedan juni 200032 967 inlägg
#12

då är det något fält av typen tal som har apostrofer runt värdet i din fråga.

text/pm:apostrofer runt värdet
tal:inte.

------------------
<A HREF="http://cartman.nu" TARGET=_blank>
can i borrow your goat?
</A>

Medlem sedan jan. 2001391 inlägg
#13

om det är ett datum, hur skriver man då?

testade så här

"[datum] =#"& datum &"#," &_

...men det var tydligen fel

Syntax error in date in query expression '##'.

------------------
Qwerty

Den som provar han testar...

[Redigerat av qwerty den 15 jun 2001]

Medlem sedan juni 200032 967 inlägg
#14

...men det beror på att datum är tomt!

skriv ut sql-frågan med response.write så ser du hur den färdiga frågan ser ut, och då ser du om det är saker som saknas!

------------------
<A HREF="http://cartman.nu" TARGET=_blank>
can i borrow your goat?
</A>

Medlem sedan jan. 2001391 inlägg
#15

precis...

hade glömt att skicka med datumet dolt från formuläret.

nu funkar det!

Tack alla som hjälpt mig

------------------
Qwerty

Den som provar han testar...

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