webForumDet fria alternativet

UPDATE (har låst sig för mig)

ASP

10 svar · 214 visningar · startad av Sammy

Medlem sedan maj 2000202 inlägg
Frågan#1

Det är låst sig totalt för mig.. Försöker uppdatera ett innehåll i databasen (adressraden)

Skulle vilja ha hjälp med följande kod:

SQL = "UPDATE konto SET ADRESS='"& Request.Form("adress") &"' WHERE IDNR='" & Session("UserID") & "' "

Får följande felmeddelande:

Feltyp:
Microsoft OLE DB Provider for ODBC Drivers (0x80040E07)
[Microsoft][Drivrutin för ODBC Microsoft Access] Typblandningsfel i villkorsuttryck.
/spelhus/kontou.asp, line 12

Här är hela koden:

<%

'Skapar koppling till databasen
Set connection = server.createObject("adodb.connection")
connection.open "driver={Microsoft Access Driver (*.mdb)};dbq=" & Server.MapPath("test.mdb") & ";"
'provar att från databasen hämta en post som stämmer överrens med uppgifterna från formuläret
stm = "SELECT * FROM konto WHERE idnr = " & session("userid") & " "
set RS = Connection.Execute(stm)

SQL = "UPDATE konto SET ADRESS='"& Request.Form("adress") &"' WHERE IDNR='" & Session("UserID") & "' " 

set RS = Connection.Execute(SQL)

RS.close
Connection.Close

Response.Redirect("sida.asp")

%>
Medlem sedan juni 200032 967 inlägg
#2

Jag gissar på att IDNR är av heltals- / räknartyp i tabellen. I så fall: inga apostrofer runt.

SQL = "UPDATE konto SET ADRESS='"& Request.Form("adress") & "' WHERE IDNR=" & Session("UserID")

Mvh,

Medlem sedan maj 2000202 inlägg
#3

Testade.. nu fick jag meddelandet:

Feltyp:
ADODB.Recordset (0x800A0E78)
Åtgärden är inte tillåten när objektet är stängt.
/spelhus/kontou.asp, line 14

SQL = "UPDATE konto SET ADRESS='"& Request.Form("adress") & "' WHERE IDNR=" & Session("UserID") &" "
Medlem sedan juni 200032 967 inlägg
#4

Jag ändrade lite, och markerade lite.

<%

'Skapar koppling till databasen
Set connection = server.createObject("adodb.connection")
connection.open "driver={Microsoft Access Driver (*.mdb)};dbq=" & Server.MapPath("test.mdb") & ";"
'provar att från databasen hämta en post som stämmer överrens med uppgifterna från formuläret
[b] ' Vad är detta? Du använder aldrig recordsetet[/b]
stm = "SELECT * FROM konto WHERE idnr = " & session("userid") & " "
set RS = Connection.Execute(stm)
[b]' -------------- [/b]

SQL = "UPDATE konto SET ADRESS='"& Request.Form("adress") &"' WHERE IDNR=" & Session("UserID")
Connection.Execute SQL,,128
Connection.Close

Response.Redirect("sida.asp")

%>

Mvh,

Medlem sedan maj 2000202 inlägg
#5

Aha.. ok nu fungerade det prima.. tackar återkommer säkert inom ämnet.. första gången jag använder update ;)

Förresten.. säg att jag också vill uppdatera information i ett formulär där också postnummer och stad finns med.. hur skall SQL raden se ut då?

Medlem sedan juni 200032 967 inlägg
#6
SQL = "UPDATE konto SET ADRESS='"& Request.Form("adress") &"', Postnummer = '" & Request.Form("postnummer") & ", Stad = '" & Request.Form("stad") & "' WHERE IDNR=" & Session("UserID")

Jag har utgått ifrån att postnummer och stad är av texttyp i tabellen.

mvh,

Medlem sedan maj 2000202 inlägg
#7

Tackar och bugar för din hjälp men nu fick jag meddelandet:

Feltyp:
Microsoft OLE DB Provider for ODBC Drivers (0x80040E14)
[Microsoft][Drivrutin för ODBC Microsoft Access] Syntaxfel (operator saknas) i frågeuttrycket ''59171, Stad = 'Motalas' WHERE IDNR=1'.
/spelhus/kontou.asp, line 10

Medlem sedan aug. 20013 824 inlägg
#8

Fel

/ Mikul

Medlem sedan juni 200032 967 inlägg
#9

Om du läser ordentligt så ser du att jag missat en avslutande apostrof efter postnumret. Så här ska det se ut:

SQL = "UPDATE konto SET ADRESS='"& Request.Form("adress") &"', Postnummer = '" & Request.Form("postnummer") & "', Stad = '" & Request.Form("stad") & "' WHERE IDNR=" & Session("UserID")

Om man har problem med SQL-frågor så ska man skriva ut dem med response.write istället för att exekvera dem, då är det mycket lättare att se vad som är fel.

mvh,

Medlem sedan sep. 2002366 inlägg
#10

Postnummer = '" & Request.Form("postnummer") & ",
bör väll vara
Postnummer = '" & Request.Form("postnummer") & "'
(en ' alltså)

-Eitraz

Medlem sedan maj 2000202 inlägg
#11

Perfekt Anders,

nu fungerade det kalas.. lade även till EPOST ADRESS

smidigt ,)

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