Avatar billede kbonline Nybegynder
18. december 2002 - 23:24 Der er 16 kommentarer og
1 løsning

[slet] virker men [opdater] virker ikke ????

slet delen virker med opdater delen skriver ikke i databasen.

Hvorfor???
---------
<%
if request("kode")= "slet" then
' SQL forespørgsel
strSQL = "Delete * from kurv Where Id = " & Request("Id")
' Udfør forespørgsel (rs indeholder nu resultatet)
Conn.Execute(strSQL)
else
end if
%>
<%
if request("kode")= "opdater" then
' SQL forespørgsel
strSQL = "update kurv set antal = '"&request.form("antal")&"' Where Id = " & Request("Id")
Conn.Execute(strSQL)
' Udfør forespørgsel (rs indeholder nu resultatet)
Conn.Execute(strSQL)
else
end if
%>
----------

Jeg får denne fejl :
Der opstod en Microsoft VBScript-kørselsfejl fejl '800a000d'

Typerne stemmer ikke overens: '[string: ""]'
Avatar billede eagleeye Praktikant
18. december 2002 - 23:27 #1
Hvis antal er et tal skal der ikke ' omkring:

strSQL = "update kurv set antal = "&request.form("antal")&" Where Id = " & Request("Id")
Avatar billede kbonline Nybegynder
18. december 2002 - 23:30 #2
nu får jeg en syntaxfejl i selv samme række ??

[Microsoft][ODBC Microsoft Access-driver] Der er en syntaksfejl i UPDATE-sætningen.
Avatar billede eagleeye Praktikant
18. december 2002 - 23:30 #3
Er antal defineret som tal eller tekst?
Avatar billede eagleeye Praktikant
18. december 2002 - 23:31 #4
Ellers kunne det tyde på at Request.Form("antal") er tom..

Din form tag har den en method="post="? : <form method="post" ...>
Avatar billede kbonline Nybegynder
18. december 2002 - 23:33 #5
her er hele "dynen" :

---

<%
' Databaseforbindelse
Set Conn = Server.CreateObject("ADODB.Connection")
DSN = "DRIVER={Microsoft Access Driver (*.mdb)}; "
DSN = DSN & "DBQ=" & Server.MapPath ("data/kurv.mdb")
Conn.Open DSN
sum=0

%>

<%
if request("kode")= "slet" then
' SQL forespørgsel
strSQL = "Delete * from kurv Where Id = " & Request("Id")
' Udfør forespørgsel (rs indeholder nu resultatet)
Conn.Execute(strSQL)
else
end if
%>
<%
if request("kode")= "opdater" then
' SQL forespørgsel
strSQL = "update kurv set antal = "&request.form("antal")&" Where Id = " & Request("Id")
Conn.Execute(strSQL)
' Udfør forespørgsel (rs indeholder nu resultatet)
Conn.Execute(strSQL)
else
end if
%>

  <form method="POST" name="ordre" action="kurv.asp?kode=tilfoj">
    <div align="center">
      <center>
      <table border="1" cellpadding="0" cellspacing="0" width="424" id="AutoNumber1" style="border-collapse: collapse" bordercolor="#111111">
        <tr>
          <td width="300" align="center" bgcolor="#454F6A">
          <font color="#FFFFFF">Vare</font></td>
          <td width="32" align="center" bgcolor="#454F6A">
          <font color="#FFFFFF">Antal</font></td>
          <td width="23" align="center" bgcolor="#454F6A">
          <font color="#FFFFFF">Pris</font></td>
          <td width="19" align="center" bgcolor="#454F6A">
          <font color="#FFFFFF">Ialt</font></td>
          <td width="44" align="center" bgcolor="#454F6A">
          &nbsp;</td>
        </tr>
        <tr>
        <%
' SQL forespørgsel
strSQL = "Select * from kurv where telefonnummer ="&"'"&session("telefonnummer")&"'"
' Udfør forespørgsel (rs indeholder nu resultatet)
Set rs = Conn.Execute(strSQL)

' Gennemløb Recordset (rs) med en løkke
        if rs.eof OR rs.bof then
Response.Write "<b><center>Din indkøbskurv er tom<br><br>"
else
Do While not rs.eof
%>

          <td width="300" align="center">
          <%response.write rs("varetekst")%><font color="#454F6A"> </font>&nbsp;</td>
          <td width="32" align="center">
          <input type="text" name="antal" size="4" value="<%response.write rs("antal")%>" style="text-align: center"></td>
          <td width="23" align="center">
          <%response.write rs("apris")%>&nbsp;</td>
          <td width="19" align="center"><font color="#454F6A">&nbsp;
          <%
          ialt = rs("apris") * rs("antal")
          response.write ialt
          %> &nbsp;</font></td>
          <td width="44" align="center"><font size="2">[<a href="kurv.asp?kode=opdater&Id=<%= Rs("Id")%>">opdater</a>][<a href="kurv.asp?kode=slet&Id=<%= Rs("Id")%>">slet</a>]</font><font color="#454F6A">&nbsp; </td>
        </tr>
       

<%sum = sum + ialt%>
       
       
        <%
rs.movenext
loop
end if
        %> </font>
       
        </table>
      </center>
    </div>
  </form>
  <p align="center">
  <p align="center"><font size="5" color="#454F6A"><b>Samlet pris = kr. <%= sum%>,-<br> </b></font>
  <p align="center"><font color="#454F6A">[</font><a href="ordreseddel.asp"><font color="#454F6A">Bestil ordre</font></a><font color="#454F6A">]&nbsp;&nbsp;&nbsp;
  [</font><a target="_top" href="index.asp"><font color="#454F6A">Annuller ordre</font></a><font color="#454F6A">]</TD>
</TR>
</TABLE>



  </font>



<div id="tipDiv" style="position:absolute; visibility:hidden; z-index:100"></div>
<%
' Luk databaseforbindelse
Conn.Close
Set Conn = Nothing

%></BODY></HTML>
Avatar billede eagleeye Praktikant
18. december 2002 - 23:37 #6
Hvor kommer opdater fra ??? formen overføre tilfoj i kode:

<form method="POST" name="ordre" action="kurv.asp?kode=tilfoj">
Avatar billede eagleeye Praktikant
18. december 2002 - 23:39 #7
nu fandt jeg den...

[<a href="kurv.asp?kode=opdater&Id=<%= Rs("Id")%>">opdater</a>]

Et link som dette sender ikek form data vidre så derfor er request.form("antal") tom når du trykker på linket.
Avatar billede kbonline Nybegynder
18. december 2002 - 23:40 #8
Kan jeg ikke bare bruge :

[<a href="kurv.asp?kode=opdater&Id=<%= Rs("Id")%>">opdater</a>]


som jeg har gjort ??
Avatar billede kbonline Nybegynder
18. december 2002 - 23:41 #9
f... hvordan får jeg det så med UDEN at bruge den grimme knap ?
Avatar billede eagleeye Praktikant
18. december 2002 - 23:42 #10
Du kan lave et link som submuitter sådan her:

<a href="java script:document.formNavn.submit()">Opdater</a>
Avatar billede eagleeye Praktikant
18. december 2002 - 23:46 #11
du får et andet problem det er at du har kun en form... og hvis du har mange "vare" med hvert deres antal vil du få en komma seperete liste med antals for hvor vare da input feltet hedder det samme
<input type="text" name="antal" ..>
Avatar billede eagleeye Praktikant
18. december 2002 - 23:56 #12
Pricippet er fint nok mend et skal laves på en anden måde eks:

Lav en form for hver vare i kurven som denne, så kan du styre hver vare i kurven..:

<form name="f<%=rs("id")%>" method="post" action="?mode=opdater&id=<%=rs("id")%>">
Antal <input type="text" name="antal" value="<%=rs("antal")%>">
[<a href="java script:document.f<%=rs("id")%>.submit()">Opdater</a>]
[<a href="kurv.asp?kode=slet&Id=<%= Rs("Id")%>">slet</a>]
</form>


Så fjerner du den store order form:
<form method="POST" name="ordre" action="kurv.asp?kode=tilfoj">
Avatar billede kbonline Nybegynder
19. december 2002 - 00:04 #13
200 point til dig hvis du har tid til at flette det ind så det burde virke :-)
jeg løber panden mod en mu :-(
Avatar billede kbonline Nybegynder
19. december 2002 - 00:07 #14
ok jeg kan se at det ikke er point du mangler, men pleeease help me pleeease :-)
Avatar billede eagleeye Praktikant
19. december 2002 - 00:09 #15
ok :) ja prøvet lige...
Avatar billede eagleeye Praktikant
19. december 2002 - 00:18 #16
Det jeg mener er dette, på siden ordreseddel kendes Session("telefonnummer") så den kan få fat i alle vare igen så der er ingen behov for at havde en form som sender alle data vidre. Der er derimod behov for en form når der skal opdaters med antal... Prøv dette:



<%
' Databaseforbindelse
Set Conn = Server.CreateObject("ADODB.Connection")
DSN = "DRIVER={Microsoft Access Driver (*.mdb)}; "
DSN = DSN & "DBQ=" & Server.MapPath ("data/kurv.mdb")
Conn.Open DSN

sum=0

if request("kode")= "slet" then
' SQL forespørgsel
strSQL = "Delete * from kurv Where Id = " & Request("Id")
' Udfør forespørgsel (rs indeholder nu resultatet)
Conn.Execute(strSQL)
else
end if
%>
<%
if request("kode")= "opdater" then
' SQL forespørgsel
strSQL = "update kurv set antal = "&request.form("antal")&" Where Id = " & Request("Id")
Conn.Execute(strSQL)
' Udfør forespørgsel (rs indeholder nu resultatet)
Conn.Execute(strSQL)
else
end if
%>

    <div align="center">
      <center>
      <table border="1" cellpadding="0" cellspacing="0" width="424" id="AutoNumber1" style="border-collapse: collapse" bordercolor="#111111">
        <tr>
          <td width="300" align="center" bgcolor="#454F6A">
          <font color="#FFFFFF">Vare</font></td>
          <td width="32" align="center" bgcolor="#454F6A">
          <font color="#FFFFFF">Antal</font></td>
          <td width="23" align="center" bgcolor="#454F6A">
          <font color="#FFFFFF">Pris</font></td>
          <td width="19" align="center" bgcolor="#454F6A">
          <font color="#FFFFFF">Ialt</font></td>
          <td width="44" align="center" bgcolor="#454F6A">
          &nbsp;</td>
        </tr>
        <tr>
        <%
' SQL forespørgsel
strSQL = "Select * from kurv where telefonnummer ="&"'"&session("telefonnummer")&"'"
' Udfør forespørgsel (rs indeholder nu resultatet)
Set rs = Conn.Execute(strSQL)

' Gennemløb Recordset (rs) med en løkke
if rs.eof OR rs.bof then
Response.Write "<b><center>Din indkøbskurv er tom<br><br>"
else
Do While not rs.eof
%>
<form method="post" action="?kode=opdater&id=<%=rs("id")%>" name="f<%=rs("id")%>">
          <td width="300" align="center">
          <%response.write rs("varetekst")%><font color="#454F6A"> </font>&nbsp;</td>
          <td width="32" align="center">
          <input type="text" name="antal" size="4" value="<%response.write rs("antal")%>" style="text-align: center"></td>
          <td width="23" align="center">
          <%response.write rs("apris")%>&nbsp;</td>
          <td width="19" align="center"><font color="#454F6A">&nbsp;
          <%
          ialt = rs("apris") * rs("antal")
          response.write ialt
          %> &nbsp;</font></td>
          <td width="44" align="center"><font size="2">
          [<a href="java script:document.f<%=rs("id")%>.submit();">Opdater</a>]
          [<a href="kurv.asp?kode=slet&Id=<%= Rs("Id")%>">slet</a>]</font><font color="#454F6A">&nbsp; </td>
        </tr>
</form>
<%sum = sum + ialt%>
<%
rs.movenext
loop
end if
        %> </font>
       
        </table>
      </center>
    </div>
  <p align="center">
  <p align="center"><font size="5" color="#454F6A"><b>Samlet pris = kr. <%= sum%>,-<br> </b></font>
  <p align="center"><font color="#454F6A">[</font><a href="ordreseddel.asp"><font color="#454F6A">Bestil ordre</font></a><font color="#454F6A">]&nbsp;&nbsp;&nbsp;
  [</font><a target="_top" href="index.asp"><font color="#454F6A">Annuller ordre</font></a><font color="#454F6A">]</TD>
</TR>
</TABLE>



  </font>



<div id="tipDiv" style="position:absolute; visibility:hidden; z-index:100"></div>
<%
' Luk databaseforbindelse
Conn.Close
Set Conn = Nothing

%></BODY></HTML>
Avatar billede kbonline Nybegynder
19. december 2002 - 00:21 #17
))))))))))))))

det ser bare fino ud


100000 tak for hjælpen
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