CatZ Medlem sedan jan. 2002 2 440 inlägg Trådstart 4 aug. 2002 16:01 #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
Eller ska man göra
INSERT **** WHERE NnID = " & Request.Querystring("id") istället ?
Något tips ?
O OveRRidE Medlem sedan feb. 2001 12 078 inlägg Det vanliga:
* Felmeddelande?
* Hur ser SQL-frågorna ut om du skriver ut dem?
CatZ Medlem sedan jan. 2002 2 440 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?
/
Skulle tro att det är sista raden som strular lite....
" WHERE NnID = " & Request.QueryString("id")
Skriv ut sql-frågan med response.write innan exekveringen:
...
...
response.write SQL2
'OBJdbConnection.execute SQL2,,128
CatZ Medlem sedan jan. 2002 2 440 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 ?
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
CatZ Medlem sedan jan. 2002 2 440 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öm Medlem sedan feb. 2002 2 594 inlägg Plocka bort kommat efter Ungd = ''
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öm Medlem sedan feb. 2002 2 594 inlägg CatZ Medlem sedan jan. 2002 2 440 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
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öm Medlem sedan feb. 2002 2 594 inlägg Skriv såhär istället: (Kanske lite OT, men, men)<% If rs("Leda") = "Ledamot" Then Response.Write "Checked %>
CatZ Medlem sedan jan. 2002 2 440 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öm Medlem sedan feb. 2002 2 594 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
CatZ Medlem sedan jan. 2002 2 440 inlägg Ja oxo slipper man avsluta med <%END IF%>
L LarsG Medlem sedan dec. 2000 12 464 inlägg Varför har du med select @@identity efter update? Det är bara relevant efter insert.
CatZ Medlem sedan jan. 2002 2 440 inlägg hoppsan, LarsG den åkte nog med av misstag när jag kopierade INSERT saken