CatZMedlem sedan jan. 20022 341 inlägg
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
Det vanliga:
* Felmeddelande?
* Hur ser SQL-frågorna ut om du skriver ut dem?
CatZMedlem sedan jan. 20022 341 inlägg
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
Skriv ut sql-frågan med response.write innan exekveringen:
...
...
response.write SQL2
'OBJdbConnection.execute SQL2,,128
CatZMedlem sedan jan. 20022 341 inlägg
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
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
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
Plocka bort kommat efter Ungd = ''
CatZMedlem sedan jan. 20022 341 inlägg
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
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
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
:) 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
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
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
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
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
Ja oxo slipper man avsluta med <%END IF%>
LarsGMedlem sedan dec. 200012 465 inlägg
Varför har du med select @@identity efter update? Det är bara relevant efter insert.
CatZMedlem sedan jan. 20022 341 inlägg
hoppsan, LarsG den åkte nog med av misstag när jag kopierade INSERT saken :)