webForumDet fria alternativet

Sql ="update + Sql2 ="update

18 svar · 331 visningar · startad av CatZ

CatZMedlem sedan jan. 20022 341 inlägg
#1

Jag begriper bevisligen inte så mycket än, därför försöker jag göra en UPDATE på 2 Tabeller direkt efter vartannat med Information från samma formulär?

SQL = "UPDATE Namn Set NnNamn = '" & Request.Form("NnNamn") & "', " & _
" NnEfter = '" & Request.Form("NnEfter") & "', " & _
" NnTelehem = '" & Request.Form("NnTelehem") & "', " & _
" NnTelejobb = '" & Request.Form("NnTelejobb") & "', " & _
" NnMobil = '" & Request.Form("NnMobil") & "', " & _
" NnKlubb = '" & Request.Form("NnKlubb") & "', " & _
" NnEpost = '" & Request.Form("NnEpost") & "', " & _
" NnLicens = '" & Request.Form("NnLicens") & "', " & _
" NnDiplomerad = '" & Request.Form("NnDiplomerad") & "', " & _
" NnMpnID = " & Request.Form("NnMpnID") & "" & _
" WHERE NnID = " & Request.Querystring("id")
OBJdbConnection.execute SQL,,128

Set rs2 = OBJdbConnection.execute("select @@identity")
SQL2 = "UPDATE styrelse Set Ordf = '" & Request.Form("Ordf") & "', " & _
" Sekr = '" & Request.Form("Sekr") & "', " & _
" Kass = '" & Request.Form("Kass") & "', " & _
" Valb = '" & Request.Form("Valb") & "', " & _
" Supp = '" & Request.Form("Supp") & "', " & _
" Revi = '" & Request.Form("Revi") & "', " & _
" Leda = '" & Request.Form("Leda") & "', " & _
" UngdOrdf ='" & Request.Form("UngdOrdf") & "', " & _
" Ungd = '" & Request.Form("Ungd") & "', " & _
" WHERE NnId =" & Request.QueryString("id")
OBJdbConnection.execute SQL2,,128
Response.Redirect("admin_register.asp")

På så sätt blir det fel iaf :q
Eller ska man göra
INSERT **** WHERE NnID = " & Request.Querystring("id") istället ?

Något tips ?

OveRRidEMedlem sedan feb. 20018 509 inlägg
#2

Det vanliga:

* Felmeddelande?
* Hur ser SQL-frågorna ut om du skriver ut dem?

CatZMedlem sedan jan. 20022 341 inlägg
#3

Fråga 1
Feltyp:
Microsoft OLE DB Provider for ODBC Drivers (0x80040E14)
[Microsoft][Drivrutin för ODBC Microsoft Access] Syntaxfel i UPDATE-uttryck.
/admin/admin_register.asp, line 257

OBJdbConnection.execute SQL2,,128 << rad 257

Fråga 2
Fattar ingenting... skriver ut dem? :P

/
Skulle tro att det är sista raden som strular lite....

" WHERE NnID = " & Request.QueryString("id")

Jörgen HPMedlem sedan feb. 20012 179 inlägg
#4

Skriv ut sql-frågan med response.write innan exekveringen:

...
...

response.write SQL2

'OBJdbConnection.execute SQL2,,128
CatZMedlem sedan jan. 20022 341 inlägg
#5
UPDATE Namn Set 
NnNamn = 'Thomas', 
NnEfter = 'Whinter', 
NnTelehem = '', 
NnTelejobb = '', 
NnMobil = '', 
NnKlubb = '123', 
NnEpost = 'sydostra@algonet.se', 
NnLicens = '', 
NnDiplomerad = '', 
NnMpnID = 3522 
WHERE NnID = 2

UPDATE styrelse Set 
Ordf = '', 
Sekr = '', 
Kass = '', 
Valb = '', 
Supp = '', 
Revi = '', 
Leda = '', 
UngdOrdf ='', 
Ungd = '', 
WHERE NnId =2

Är där något fel ?

Jörgen HPMedlem sedan feb. 20012 179 inlägg
#6

Hej!

Ja, du har massor av ställen där du inte skickar in något värde i SQL-frågan. Klura ut var värdena försvinner genom att skriva ut dem med response.write. Något stämmer inte på vägen fram till din update-fråga. Det jag kan tänka mig är att du stavat fel på dina formulärnamn.

Lycka till!

Mvh Jörgen HP

CatZMedlem sedan jan. 20022 341 inlägg
#7

Jo men alla fälten ska ju inte behöva fyllas i.... värdena skickas inte därför att jag väljer att inte fylla i de egenskaperna :)

Nu lät jag helt nördig... nu tror ni inte jag begriper någonting.. men där det inte skickas något har jag inte fyllt i formuläret på de ställena....

EkströmMedlem sedan feb. 20021 690 inlägg
#8

Plocka bort kommat efter Ungd = ''

CatZMedlem sedan jan. 20022 341 inlägg
#9

heh den såg jag inte ens :D

Tack Ekström :e :e :e :p :P :b

Jörgen HPMedlem sedan feb. 20012 179 inlägg
#10

De som inte blir ifyllda, har de ett värde i databasen?

Isåfall hade jag låtit fälten varit förifyllda med värden från databasen när formuläret laddas. Och är de tomma i databasen hade jag skickat in 'null' i SQL-frågan.

mvh Jörgen HP

EkströmMedlem sedan feb. 20021 690 inlägg
#11

CatZ skrev:

Tack Ekström :e :e :e :p :P :b

Hehe, skönt att kunna hjälpa till nån gång :D

CatZMedlem sedan jan. 20022 341 inlägg
#12

:) Jörgen :) Såhär ser formuläret ut

<input name="Leda" type="checkbox" value="Ledamot"<%If rs("Leda") = "Ledamot" Then%> Checked<%End If%>>

Så det hade jag redan tänkt på, annars vore ju en UPDATE meningslös ;)

Jörgen HPMedlem sedan feb. 20012 179 inlägg
#13

Okey, då så löste det sig. Läste lite dåligt, fick för mig att det var en insert, så jag redigerade lite i svaret ovan. :)

EkströmMedlem sedan feb. 20021 690 inlägg
#14

Skriv såhär istället: (Kanske lite OT, men, men)<% If rs("Leda") = "Ledamot" Then Response.Write "Checked %>

CatZMedlem sedan jan. 20022 341 inlägg
#15

Ekström skrev:

Skriv såhär istället: (Kanske lite OT, men, men)<% If rs("Leda") = "Ledamot" Then Response.Write "Checked %>

Du har absolut rätt i det ;)

EkströmMedlem sedan feb. 20021 690 inlägg
#16

Tackar.

Är väl inte direkt något fel med din kod, men jag tycker det blir snyggast om man gör som jag skrev bara :e

CatZMedlem sedan jan. 20022 341 inlägg
#17

Ja oxo slipper man avsluta med <%END IF%>

LarsGMedlem sedan dec. 200012 465 inlägg
#18

Varför har du med select @@identity efter update? Det är bara relevant efter insert.

CatZMedlem sedan jan. 20022 341 inlägg
#19

hoppsan, LarsG den åkte nog med av misstag när jag kopierade INSERT saken :)

Genererad på 388 ms · cache AV · v20260730165559-full.f96bc7eb