webForumDet fria alternativet
Logga in / Bli medlem

Syntaxfel i Update uttryck

ASP

28 svar · 390 visningar · startad av Mav

Medlem sedan juni 2000117 inlägg
Frågan#1

Har följande kod som inte vill fungera o uppdatera databasen.
Rad 20 är fel.

rs.Open SQL, fritid, adOpenDynamic

Övrig kod ser ut som följer.

<%
Set fritid = Server.CreateObject("ADODB.Connection")
Set rs = Server.CreateObject("ADODB.Recordset")
fritid.Open "Driver={Microsoft Access Driver (*.mdb)}; (*.mdb)}; DBQ=c:\db\adressbok.mdb"%> <%
SQL = "UPDATE adressbok SET WHERE Kundnr = '" & Request("Kundnr") & "'"
rs.Open SQL, fritid, adOpenDynamic

rs("namn")=Request.Form("namn")
rs("Telefonbok")=Request.Form("telefonbok")
rs("Fax")=Request.Form("fax")
rs("Epost")=Request.Form("epost")
osv......

rs.Update
rs.Close
%>

Tacksam för all hjälp jag kan få.

Medlem sedan dec. 19998 577 inlägg
#2

Testa att göra samma fast utan ett recordset... recordset är helt onönödiga när du skall uppdatera...

<%
Set fritid = Server.CreateObject("ADODB.Connection")
fritid.Open "Driver={Microsoft Access Driver (*.mdb)}; (*.mdb)}; DBQ=c:\db\adressbok.mdb"
SQL = "UPDATE adressbok SET namn = '" & =Request.Form("namn") & "', Telefonbok = '" & Request.Form("telefonbok") & "', Fax = '" & Request.Form("fax") & "', Epost = '" & Request.Form("epost") & "' WHERE Kundnr = '" & Request("Kundnr") & "'"
fritid.execute(SQL)
%>
Medlem sedan juni 2000117 inlägg
#3

Testade det du föreslog men fick samma felmeddelande som tidigare.
Rad 18

fritid.execute(SQL)

Något förslag??

Medlem sedan juni 200032 967 inlägg
#4

skriv ut sql-frågan med response.write innan du gör execute på den så ser man kanske att det är något värde som saknas.

Medlem sedan mars 20001 266 inlägg
#5

Ta bort = tecknet i koden
& =Request.Form("namn") &

Så skall det inte vara.

Om det inte fungerar testa då att skriva ut sql frågan som @nders sa.

Andreas

Medlem sedan juni 2000117 inlägg
#6

= tecknet såg jag själv. Hur skriver jag för att skriva ut sql frågan. Är lite nollställd just nu ;-)

Tack för all hjälp hittils

Medlem sedan mars 20001 266 inlägg
#7

Innan fritid.execute(SQL)
skriver du
response.write sql

Andreas

Medlem sedan juni 2000117 inlägg
#8

Tack, men det hjälpte inte heller. Den skriver ut texten men sen uppstår samma fel igen. Vad kan det bero på?

Medlem sedan juni 200032 967 inlägg
#9

det är meningen att den ska skriva ut texten (alltså sql-frågan). det är den vi vill titta på. så om du kopierar den från din webläsare (alltså den färdiga sql-frågan), och lägger upp den här så hjälper vi dig gärna.

Medlem sedan juni 2000117 inlägg
#10

Så här ser det ut.

UPDATE adressbok SET Kedjanamn = '', Telefonbok = '+46(0)31-111111', Fax = '+46(0)31-111111', Epost = 'epost@ote1.se', Hemsidaurl = 'www.ote1.se', Kedjaurl = 'update testupdate test', Infoblock1 = 'Infoblock1 . Kdkdkdkdkdkdkdkdk kdkdk kdkd dfg dfg dfgd fg dfgd fg sfghs ths rthsr ths thsrths rthsrt hsrt hyjfghdsfths rthsrthsr thsr ths rths rths h', Infoblock2 = 'Infoblock2. Kdkdkdkdkdkdkdkdk kdkdk kdkd', Prisblock1 = 'Prisblock1update testupdate testupdate test', Prisblock2 = 'Prisblock2 update testupdate testupdate test', Ovrigtblock1 = 'update testupdate testupdate testupdate test', Vagbeskrblock1 = 'Vägbeskrivning1', WHERE Kundnr = '' 

Microsoft OLE DB Provider for ODBC Drivers fel '80040e14' 

[Microsoft][Drivrutin för ODBC Microsoft Access] Syntaxfel i UPDATE-uttryck. 

/admin/update_ok.asp, rad 19

Rad 19 ser ut så här

fritid.execute(SQL)
Medlem sedan juni 200032 967 inlägg
#11

och hur ser tabellen ut? vad har du för datatyper på de olika fälten?

Medlem sedan mars 20001 266 inlägg
#12

Byt ut WHERE Kundnr = '" & Request("Kundnr") & "'" till
WHERE Kundnr = " & Request("Kundnr")

Testa det , antar att kundnr är ett tal.
Har med @nders fråga att göra.

Andreas

Medlem sedan juni 2000117 inlägg
#13

Samtliga fält är text fält även kundnr.
Provade att ändra WHERE....
men fick samma fel som tidigare. Provade även att ändra Kundnr fältet i databasen till tal men fick samma fel som vanligt.

Medlem sedan mars 20001 266 inlägg
#14

Ok
Då skulle jag vilja att du klipper in den koden du använder. Så vi får syudera den igen :)

Andreas

Medlem sedan juni 2000117 inlägg
#15

Så här ser det ut:

<body>
<%
Set fritid = Server.CreateObject("ADODB.Connection")
fritid.Open "Driver={Microsoft Access Driver (*.mdb)}; DBQ=c:\db\adressbok.mdb"
SQL = "UPDATE adressbok SET Kedjanamn = '" & Request.Form("namn") & "', Telefonbok = '" & Request.Form("telefonbok") & "', Fax = '" & Request.Form("fax") & "', Epost = '" & Request.Form("epost") & "', Hemurl = '" & Request.Form("hemurl") & "', Kedurl = '" & Request.Form("kedurl") & "', Infoblock1 = '" & Request.Form("infoblock1") & "', Infoblock2 = '" & Request.Form("infoblock2") & "', Prisblock1 = '" & Request.Form("prisblock1") & "', Prisblock2 = '" & Request.Form("prisblock2") & "', Ovrigtblock1 = '" & Request.Form("ovrigtblock1") & "', Vagbeskrblock1 = '" & Request.Form("vagbeskrblock1") & "', WHERE Kundnr = " & Request("Kundnr")
response.write sql
fritid.execute(SQL)
%>
<b>Uppgifterna är nu uppdaterade</b>
</body>
Medlem sedan dec. 19996 721 inlägg
#16

Det verkar som om request("Kundnr") inte innehåller något.

Medlem sedan juni 2000117 inlägg
#17

I databasen innehåller det ett nummer

Medlem sedan mars 20001 266 inlägg
#18

Det emission menar är om du skickar men nåt värde från sidan innan.
typ:

<input type="hidden" name="Kundnr" value="<%=rs("Kundnr")%>">

Sätt sen fälttyp till tal på Kundnr.

Andreas

Medlem sedan juni 2000117 inlägg
#19

Första sidan är en login sida. Sen kommer man till en sida där alla uppgifter finns. Sen klickar man sig vidare till update sidan där man kan göra ändringar.
Länken från "sid2" ser ut så här:

För att göra ändringar <A HREF=update.asp?ID=<%=rs("Kundnr")%>>klicka här.</A>

Det är det värde som skickas vidare till update sidan som inte vill fungera när man klickar på "Updatera".

Medlem sedan mars 20001 266 inlägg
#20

Ok, hur ser koden ut på sidan med
För att göra ändringar <A HREF=update.asp?ID=<%=rs("Kundnr")%>>klicka här.</A> Skulle vilja ta en titt på asp koden på den sidan.

Andreas

266 ms totalt · 4 externa anrop · v20260731065814-full.5386d3bf
121 ms — deklarationer (db)
0 ms — hämta statistik (cache)
142 ms — hämta tråd, inlägg och bilagor (db)
121 ms — ändringar (db)