Avatar billede zipper20 Nybegynder
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
Avatar billede eagleeye Praktikant
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.
Avatar billede eagleeye Praktikant
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)
Avatar billede zipper20 Nybegynder
13. november 2003 - 19:07 #3
Jeg har ikke sat id (som er autonum) til at blive opdateret. Hvis mangler et ' ???
Avatar billede eagleeye Praktikant
13. november 2003 - 19:08 #4
du har måske kun en post i din database?
Avatar billede zipper20 Nybegynder
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...
Avatar billede zipper20 Nybegynder
13. november 2003 - 19:11 #6
Har jeg skrevet det rigtigt ???

SQL = SQL & "WHERE id = Request.QueryString("id")"
Avatar billede eagleeye Praktikant
13. november 2003 - 19:12 #7
Næsten det skal være sådan her:

SQL = SQL & "WHERE id = " & Request.QueryString("id")
Avatar billede zipper20 Nybegynder
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
Avatar billede eagleeye Praktikant
13. november 2003 - 19:15 #9
Så er ID'et ikke ført med over i Querystringen, såt der i linket id=xxx ?
Avatar billede zipper20 Nybegynder
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&oslash;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&aelig;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>&nbsp;</I></TD>
        <TD WIDTH="66%"><INPUT TYPE="SUBMIT" NAME="Submit" VALUE="Opdatér"></TD>
Avatar billede zipper20 Nybegynder
13. november 2003 - 19:21 #11
Hvordan kan jeg få id med??
Avatar billede eagleeye Praktikant
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")
Avatar billede zipper20 Nybegynder
13. november 2003 - 19:27 #13
Takker ... :-p
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester

IT-JOB

Forsvarsministeriets Materiel- og Indkøbsstyrelse

Cyberdivisionen søger en IT-supporterelev til Lokal IT på Flyvestation Karup

Forsvarsministeriets Materiel- og Indkøbsstyrelse

Solution Manager til Cyberdivisionen

Capgemini Danmark A/S

AI/Data Engineer

AL Sydbank

AI Engineer