Avatar billede steen_hansen Forsker
15. oktober 2004 - 15:46 Der er 16 kommentarer og
1 løsning

Syntax error?

Hvor skulle det være henne?

Conn.Execute("INSERT INTO menumain (mainmenu, priorityID) VALUES('" & vName & "', " & vPriority & ")")
Avatar billede steen_hansen Forsker
15. oktober 2004 - 15:49 #1
Der skulle være en Syntax error in INSERT INTO statement.
Avatar billede eagleeye Praktikant
15. oktober 2004 - 16:12 #2
Det kan være en god ide at prøve at udskrive SQL sætningen og se variable er kommet rigtigt ind:

Response.write("INSERT INTO menumain (mainmenu, priorityID) VALUES('" & vName & "', " & vPriority & ")")
Response.End
Avatar billede eagleeye Praktikant
15. oktober 2004 - 16:13 #3
Du har ikke byttet rundt på tabelnavnet menumain og kolonnenavnet mainmenu ?
Avatar billede steen_hansen Forsker
15. oktober 2004 - 16:15 #4
Ok, det fik jeg dette ud af, variablerne kommer slet ikke med :o/

INSERT INTO menumain (mainmenu, priorityID) VALUES('', )

Jeg kigger lige formen igennem for evt. tyrkfejl.
Avatar billede steen_hansen Forsker
15. oktober 2004 - 16:15 #5
Det kan være, går det lige efter en gang til
Avatar billede steen_hansen Forsker
15. oktober 2004 - 16:20 #6
Nej, tabelnavn og kolonnenavn er korrekt angivet. Har du mod på at kigge de to dokumenter igennem?

updatemain.asp:

<%
id = Request("ID")
vName = Request("nameofmenu")
vPriority = Request("mainpriority")
ToDo = Request("ToDo")

If ToDo = "updatemain" Then
    Conn.Execute("UPDATE menumain SET mainmenu='" & vName & "', priorityID=" & vPriority & " WHERE id=" & id)
    Response.Redirect("editmain.asp")
ElseIf ToDo = "delete" Then
    Conn.Execute "DELETE FROM menumain WHERE ID = " & id
    Conn.Execute "DELETE FROM menusub WHERE parent = " & id
    Response.Redirect "editmain.asp"
Else

Response.write("INSERT INTO menumain (mainmenu, priorityID) VALUES('" & vName & "', " & vPriority & ")")
Response.End

    Conn.Execute("INSERT INTO menumain (mainmenu, priorityID) VALUES('" & vName & "', " & vPriority & ")")
    Response.Redirect("editmain.asp")
End If
Conn.Close
%>




editmain.asp:

<form name="updatemainmenu<%=i%>" action="updatemain.asp" method="post">
<tr>
    <input type="hidden" name="ID" value="<%=RS("ID")%>">
    <input type="hidden" name="ToDo" value="updatemain">
    <td align="left" id="TDWidth1P"><input type="text" name="nameofmenu" size="<%=Size1%>" value="<%=Server.HTMLEncode(RS("mainmenu"))%>" class="input1"></td>
    <td align="center" id="TDWidth2P"><input type="text" name="mainpriority" size="<%=Size3%>" value ="<%=RS("priorityID")%>" class="input1"></td>
    <td align="center" id="TDWidth3P"><input type="submit" name="submit" value="Opdater" class="input2"></td>
    <td align="center" id="TDWidth4P"><a href="#" onclick="if(confirm('Er du sikker på, at du vil slette denne hovedmenu med tilhørende undermenuer?\nDenne handling kan ikke fortrydes!')) window.location.href='updatemain.asp?ToDo=delete&id=<%=Server.URLEncode(RS("ID"))%>'" onfocus="this.blur();">Slet hovedmenu</a></td>
    <td align="right" id="TDWidth5P"><a style="display: block; width: 100%;" href="/borch/admin/menus/editsub.asp?menuID=<%=Server.URLEncode(RS("ID"))%>" onfocus="this.blur();">Rediger undermenuer</td>
</tr>
<tr>
    <td align="left" colspan="5"><% If Request("status") = 1 Then %><span class="text11r"><b>Menupunktet er blevet opdateret.</b></span><% Else %>&nbsp;<% End If %></td>
</tr>
</form>
Avatar billede eagleeye Praktikant
15. oktober 2004 - 16:26 #7
Er det den rigtige form?
Den skulle så vidt jeg kan se komme ind i den SQL hvor den laver en UPDATE da den har dette hidden felt:
<input type="hidden" name="ToDo" value="updatemain">
Avatar billede steen_hansen Forsker
15. oktober 2004 - 16:30 #8
Ja, det er den rigtige form. Har jeg ikke sat et forkert navn ind et forkert sted?
Avatar billede eagleeye Praktikant
15. oktober 2004 - 16:36 #9
Men fejlen kommer i INSERT INTO. Det betyder ToDo er tom.

Har du en linje som redirecter til updatemain.asp?
Avatar billede eagleeye Praktikant
15. oktober 2004 - 16:48 #10
Det kan også være et link til siden som ikke overføre ToDo

Jeg kan måske prøve at spørge.
Når du får fejlen hvad er du i gang med, oprette en ny mainmenu, opdatere en, eller slette en menu, eller måske noget helt andet?
Avatar billede steen_hansen Forsker
15. oktober 2004 - 16:49 #11
Jeg er ved at oprette en ny.

Kigger lige dine indlæg igennem ...
Avatar billede steen_hansen Forsker
15. oktober 2004 - 16:54 #12
"Har du en linje som redirecter til updatemain.asp?"

Jeg har denne formen med action:

<form name="updatemainmenu<%=i%>" action="updatemain.asp" method="post">



Derefter updatemain.asp:

    Conn.Execute("INSERT INTO menumain (mainmenu, priorityID) VALUES('" & vName & "', " & vPriority & ")")
    Response.Redirect("editmain.asp")



Jeg indtaster navnet på den nye hovedmenu og PriorityID (tal) og trykker på "Opret", og derefter bliver alle recordsets listet ud  ORDER BY priorityID ASC, så brugeren kan se menupunkterne i den rækkefølge, som de bliver listet ud i menuen.
Avatar billede eagleeye Praktikant
15. oktober 2004 - 16:56 #13
Ok, det skulle også gerne være virke, men den form du har vist 15/10-2004 16:20:48 har ikke en opret knap men en Opdater og Slet funktion. Så derfor prøv at vise formen med Opret knappen. Du kan evt prøve at tjekke de to input felter har de rigtige navne.
Avatar billede steen_hansen Forsker
15. oktober 2004 - 17:04 #14
eagleeye, det er flovt, jeg er overhovedet ikke vågen. Og så har jeg fået dig til at forsøge at fejlrette i den forkerte form.

Den ovenstående form er til at redigere hovedmenuerne. Den rigtige form (til at oprette hovedmenuerne) kommer her (sorry, finder lige et hjørne og  græmmer mig):


<form name="makemenu" action="updatemain.asp" method="post">
    <table border="0" cellpadding="0" cellspacing="0" style="width: 100%;" class="text11">
        <tr>
            <td align="left" id="TDWidth1P" style="padding-bottom: 8px; border-bottom: 1px solid black;"><b>Navn:</b></td>
            <td align="center" id="TDWidth2P" style="padding-bottom: 8px; border-bottom: 1px solid black;">#</td>
            <td id="TDWidth3P" style="padding-bottom: 8px; border-bottom: 1px solid black;">&nbsp;</td>
            <td id="TDWidth4P" style="padding-bottom: 8px; border-bottom: 1px solid black;">&nbsp;</td>
            <td id="TDWidth5P" style="padding-bottom: 8px; border-bottom: 1px solid black;">&nbsp;</td>
        </tr>
        <tr>
            <td align="left" style="padding-top: 8px;" id="TDWidth1P"><input type="text" name="nameofmenu" size="<%=Size1%>" class="input1"></td>
            <td align="center" style="padding-top: 8px;" id="TDWidth2P"><input type="text" name="mainpriority" size="<%=Size3%>" class="input1"></td>
            <td align="center" style="padding-top: 8px;" id="TDWidth3P"><input type="submit" name="submit" style="width: 67px;" value="Opret" class="input2"></td>
            <td style="padding-top: 8px;" id="TDWidth4P">&nbsp;</td>
            <td style="padding-top: 8px;" id="TDWidth5P">&nbsp;</td>
        </tr>
    </table>
</form>


Jeg havde indtaste forkerte navne, de blev rettet, og så virker skidtet :oD

UNDSKYLD! Jeg kan af gode grunde ikke give dig en kvaje-bajer, men du kan få pointene. Kan du ikke lægge et svar? :oD
Avatar billede eagleeye Praktikant
15. oktober 2004 - 17:07 #15
ok ;)

her et svar.
Avatar billede steen_hansen Forsker
15. oktober 2004 - 17:08 #16
Godt det er weekend :)

Takker for hjælpen. TÆNK, at man kan sidde og stirre sig blind på den forkerte form :oD

Bedste ven, takker og undskylder mange gange, point er sat op :)
Avatar billede steen_hansen Forsker
15. oktober 2004 - 17:12 #17
Hvis du har mod på det, så har jeg en lille KONKRET opgave på http://www.eksperten.dk/spm/550760. Har du tid/lyst? :)
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