13. november 2003 - 19:01
Der er
12 kommentarer og 1 løsning
Fejl i UPDATE med Access db
-- kode -- <%@LANGUAGE="VBScript"%> <!--#include file="connect.asp"--> <% SQL = "UPDATE tilbud Set nr = '" & request.form("nr") SQL = strSQL & "', navn = '" & request.form("navn") SQL = strSQL & "', str = '" & request.form("str") SQL = strSQL & "', pris = '" & request.form("pris") SQL = strSQL & "', beskriv = '" & request.form("beskriv") Myconn.Execute(SQL) Response.Redirect("admintilbud.asp") %> -- fejl melding -- Microsoft JET Database Engine error '80040e14' Invalid SQL statement; expected 'DELETE', 'INSERT', 'PROCEDURE', 'SELECT', or 'UPDATE'. /updatetilbud.asp, line 10
Annonceindlæg tema
Offentlig digitalisering
Fra effektivisering til digital suverænitet. Hvordan skaber det offentlige en digital fremtid med AI, sikkerhed og kontrol i centrum?
13. november 2003 - 19:05
#1
Du skal havde havde en WHERE på når du laver en UPDATE eller opdateres alle posterne i databasen. Der mangler også en ' efter den sidste linje med SQL samt du blander variblen SQL og strSQL sammen.
13. november 2003 - 19:06
#2
Prøv SQL = "UPDATE tilbud Set nr = '" & request.form("nr") & "', " SQL = SQL & "navn = '" & request.form("navn") & "', " SQL = SQL & "str = '" & request.form("str") & "', " SQL = SQL & "pris = '" & request.form("pris") & "', " SQL = SQL & "beskriv = '" & request.form("beskriv") & "' " SQL = SQL & "WHERE kolonne/id = xxxx" Myconn.Execute(SQL)
13. november 2003 - 19:07
#3
Jeg har ikke sat id (som er autonum) til at blive opdateret. Hvis mangler et ' ???
13. november 2003 - 19:08
#4
du har måske kun en post i din database?
13. november 2003 - 19:10
#5
Nej... det har jeg ikke... data sendes fra en form som igen får data vha. id fra en oversigt...
13. november 2003 - 19:11
#6
Har jeg skrevet det rigtigt ??? SQL = SQL & "WHERE id = Request.QueryString("id")"
13. november 2003 - 19:12
#7
Næsten det skal være sådan her: SQL = SQL & "WHERE id = " & Request.QueryString("id")
13. november 2003 - 19:14
#8
Det er den ikke meget for... Microsoft JET Database Engine error '80040e14' Syntax error (missing operator) in query expression 'id ='. /updatetilbud.asp, line 11
13. november 2003 - 19:15
#9
Så er ID'et ikke ført med over i Querystringen, såt der i linket id=xxx ?
13. november 2003 - 19:19
#10
Øverst på siden som sender videre til updatetilbud.asp... <% Set data = Server.CreateObject ("ADODB.Recordset") data.Open "SELECT * From tilbud Where id ="& Request.QueryString("id") &"", MyConn %> <-- en masse kode --> <FORM ACTION="updatetilbud.asp" METHOD="POST"> <TABLE BORDER="0" CELLPADDING="3" CELLSPACING="0" WIDTH="54%"> <TR> <TD WIDTH="34%" BGCOLOR="#99CCFF" style="border-top;bottom:solid black 1px;"> <FONT SIZE="2" FACE="Arial"><I>Produkt nr</I></FONT></TD> <TD WIDTH="66%" BGCOLOR="#99CCFF"><INPUT TYPE="TEXT" VALUE="<% = data.Fields ("nr")%>" NAME="nr" SIZE="16"></TD> </TR> <TR> <TD WIDTH="34%" BGCOLOR="#FFCC99"><FONT SIZE="2" FACE="Arial"><I>Navn</I></FONT></TD> <TD WIDTH="66%" BGCOLOR="#FFCC99"><INPUT TYPE="TEXT" VALUE="<% = data.Fields ("navn")%>" NAME="navn" SIZE="25"></TD> </TR> <TR> <TD WIDTH="34%" BGCOLOR="#99CCFF"><FONT SIZE="2" FACE="Arial"><I>Størrelse</I></FONT></TD> <TD WIDTH="66%" BGCOLOR="#99CCFF"><INPUT TYPE="TEXT" VALUE="<% = data.Fields ("str")%>" NAME="str" SIZE="16"></TD> </TR> <TR> <TD WIDTH="34%" BGCOLOR="#FFCC99"><FONT SIZE="2" FACE="Arial"><I>Pris</I></FONT></TD> <TD WIDTH="66%" BGCOLOR="#FFCC99"><INPUT TYPE="TEXT" VALUE="<% = data.Fields ("pris")%>" NAME="pris" SIZE="16"></TD> </TR> <TR> <TD WIDTH="34%" BGCOLOR="#99CCFF"><FONT SIZE="2" FACE="Arial"><I>Bemærkning</I></FONT></TD> <TD WIDTH="66%" BGCOLOR="#99CCFF"><INPUT TYPE="TEXT" VALUE="<% = data.Fields ("beskriv")%>" NAME="beskriv" SIZE="25"></TD> </TR> <TR> <TD WIDTH="34%"><I> </I></TD> <TD WIDTH="66%"><INPUT TYPE="SUBMIT" NAME="Submit" VALUE="Opdatér"></TD>
13. november 2003 - 19:21
#11
Hvordan kan jeg få id med??
13. november 2003 - 19:24
#12
Der er to måder enten som QueryString eller som et hidden felt på formen: 1. Som QueryString: Ret: <FORM ACTION="updatetilbud.asp" METHOD="POST"> Til: <FORM ACTION="updatetilbud.asp?id=<%=Request.Querystring("id")%>" METHOD="POST"> og så i din SQL sætning: SQL = SQL & "WHERE id = " & Request.QueryString("id") 2. Som hidden felt så laver du et hidden input felt på form'en sådan her: <input type="hidden" name="id" value="<%=Request.QueryString("id")%>"> og så i din SQL sætning: SQL = SQL & "WHERE id = " & Request.Form("id")
13. november 2003 - 19:27
#13
Takker ... :-p
Kurser inden for grundlæggende programmering