16. juni 2004 - 18:01
Der er
26 kommentarer og 1 løsning
Hvad er fejlen her: Data type mismatch
Får denne fejl i nedenstående: Microsoft OLE DB Provider for ODBC Drivers error '80040e07' [Microsoft][ODBC Microsoft Access Driver] Data type mismatch in criteria expression. /shop/e-shop/admin_product.asp, line 32 SQL="UPDATE Produkter SET " SQL = SQL & "ProduktNummer='" & ProduktNummer & "', " SQL = SQL & "ProduktNavn='" & ProduktNavn & "', " SQL = SQL & "ProduktPris='" & ProduktPris & "', " SQL = SQL & "PrisMedMoms='" & PrisMedMoms & "', " SQL = SQL & "ProduktBillede='" & ProduktBillede & "', " SQL = SQL & "ProduktBeskrivelse='" & ProduktBeskrivelse & "'" SQL = SQL & " where ProduktID =" & session("ProduktID") Set RS = Conn.Execute(SQL) %> skal dog siges at begge priser samt ProduktID er tal i DB, hvis det har noget at sige
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?
Ja det har noget at sige. Prøv uden ' omkring de kolonne som er tal.
SQL = SQL & "ProduktPris=" & ProduktPris & "', " SQL = SQL & "PrisMedMoms=" & PrisMedMoms & "', " sådan her
sådan her: SQL = SQL & "ProduktPris=" & ProduktPris & ", " SQL = SQL & "PrisMedMoms=" & PrisMedMoms & ", " Når de er pris er det så med komma tal?
nu får jeg denne: Microsoft OLE DB Provider for ODBC Drivers error '80040e14' [Microsoft][ODBC Microsoft Access Driver] Syntax error in UPDATE statement. /shop/e-shop/admin_product.asp, line 32
er kolonnen så sat til at modtage komma tal?
der er lige en lille ting, man skal overføre komma som punktum i talle. Så 22,25 skal være 22.25
16. juni 2004 - 18:14
#10
16. juni 2004 - 18:15
#11
er ikke password på nu så du kan se
16. juni 2004 - 18:17
#12
Prøv evt. at udskrive SQL sætningen i stedet for at køre den. Måske der mangler noget? Response.write SQL Response.end Set RS = Conn.Execute(SQL)
16. juni 2004 - 18:21
#13
og hvor smider jeg den ind :o)
16. juni 2004 - 18:22
#14
Ind foran denne linje: Set RS = Conn.Execute(SQL) Sådan: Response.write SQL Response.end Set RS = Conn.Execute(SQL)
16. juni 2004 - 18:27
#15
UPDATE Produkter SET ProduktNummer='', ProduktNavn='', ProduktPris=, PrisMedMoms=, ProduktBillede='', ProduktBeskrivelse='Sort kvalitets T-Shirt med trykt DM i Mix logo på ryggen, samt BUILT TO RESIST på venstre ærme' where ProduktID =2
16. juni 2004 - 18:29
#16
produktnummer er også tal så den lavede jeg lige om også
16. juni 2004 - 18:30
#17
Det tyder på den ikke får hentet data fra form felterne rigtigt. Den henter ProduktBeskrivelsen godt nok.
16. juni 2004 - 18:31
#18
jeg bruger denne i de andre: <% response.write session("ProduktNummer") %> og denne i beskrivelse: <% response.write Replace(session("ProduktBeskrivelse"), "<br>", vbCrLf) %>
16. juni 2004 - 18:32
#19
Man bruger normalt Request.Form("navn_på_input_Felt") til at hente data fra formen. PrisMedMoms = Request.Form("PrisMedMoms")
16. juni 2004 - 18:44
#20
Så koden ser ud i stil med dette: ProduktNummer = Request.Form("ProduktNummer") ProduktNavn = Request.Form("ProduktNavn") ProduktPris = Request.Form("ProduktPris") PrisMedMoms = Request.Form("PrisMedMoms") ProduktBillede = Request.Form("ProduktBillede") ProduktBeskrivelse = Request.From("ProduktBeskrivelse") SQL="UPDATE Produkter SET " SQL = SQL & "ProduktNummer='" & ProduktNummer & "', " SQL = SQL & "ProduktNavn='" & ProduktNavn & "', " SQL = SQL & "ProduktPris='" & ProduktPris & "', " SQL = SQL & "PrisMedMoms='" & PrisMedMoms & "', " SQL = SQL & "ProduktBillede='" & ProduktBillede & "', " SQL = SQL & "ProduktBeskrivelse='" & ProduktBeskrivelse & "'" SQL = SQL & " where ProduktID =" & session("ProduktID") Set RS = Conn.Execute(SQL) %>
16. juni 2004 - 18:52
#21
Hele koden ser således ud: <% session.lcid = 1030 %> <html> <head> <title>- Admin e-shop </title> <base target="_self"> </head> <body> <table border="0" width="450" cellspacing="0" cellpadding="10"> <tr> <td width="100%"> <table border="0" cellspacing="0" cellpadding="0"> <tr> <% if request("mode") = "gem" then set conn = server.createobject("ADODB.connection") path = Server.MapPath("xxxx.mdb") conn.Open "DBQ="& path &";DefaultDir="& path & ";Driver={Microsoft Access Driver (*.mdb)}" ProduktBeskrivelse = Replace(request.form("ProduktBeskrivelse"),vbCrLf, "<br>") SQL="UPDATE Produkter SET " SQL = SQL & "ProduktNummer=" & ProduktNummer & ", " SQL = SQL & "ProduktNavn='" & ProduktNavn & "', " SQL = SQL & "ProduktPris=" & ProduktPris & ", " SQL = SQL & "PrisMedMoms=" & PrisMedMoms & ", " SQL = SQL & "ProduktBillede='" & ProduktBillede & "', " SQL = SQL & "ProduktBeskrivelse='" & ProduktBeskrivelse & "'" SQL = SQL & " where ProduktID =" & session("ProduktID") Response.write SQL Response.end Set RS = Conn.Execute(SQL) %> <td width="100%" bordercolor="#FFFFFF"> <p class="dhtmlBold"><font size="5" color="#294A7B">Siden er opdateret...?</font> <table border="0" cellspacing="0" cellpadding="0"> <tr> <td><img border="0" src="../../../hgk_online/email/admin/images/link_back.gif"></td> <td><p class="copy"> <a href="../../../hgk_online/proshop/admin/index.asp" target="_top">Tilbage til menu</a></td> </tr> </table> <p class="dhtmlBold"><% set rstemp=nothing Conn.Close set conntemp=nothing else set conn = server.createobject("ADODB.connection") path = Server.MapPath("xxxx.mdb") conn.Open "DBQ="& path &";DefaultDir="& path & ";Driver={Microsoft Access Driver (*.mdb)}" SQL = "SELECT * from Produkter where ProduktID = " & Request.Querystring("ProduktID") set RS = Conn.Execute(SQL) Session("ProduktNummer") = RS("ProduktNummer") Session("ProduktNavn") = RS("ProduktNavn") Session("ProduktPris") = RS("ProduktPris") Session("PrisMedMoms") = RS("PrisMedMoms") Session("ProduktBillede") = RS("ProduktBillede") Session("ProduktBeskrivelse") = RS("ProduktBeskrivelse") Session("ProduktID") = Request.Querystring("ProduktID") %> <table border="1" cellpadding="0" cellspacing="0" bordercolor="#294A7B" style="margin-left: 0px;"> <tr> <td bordercolor="#FFFFFF"> <table border="0" width="420" cellspacing="0" cellpadding="3"> <tr> <td bgcolor="#294A7B"> <p class="rammetopBold">Redigerings Modul</p> </td> </tr> </table> <form method="POST" action="admin_product.asp"> <INPUT TYPE="hidden" NAME="mode" VALUE="gem"> <table border="0" cellpadding="0" width="420"> <tr> <td class="copy"> Produkt nr.</td> <td><input type="text" name="ProduktNummer" size="6" value="<% response.write session("ProduktNummer") %>" style="font-family: Verdana; font-size: 11 px"></td> </tr> <tr> <td class="copy"> Produkt Navn</td> <td><input type="text" name="ProduktNavn" size="49" value="<% response.write session("ProduktNavn") %>" style="font-family: Verdana; font-size: 11 px"></td> </tr> <tr> <td class="copy"> Pris ex. moms</td> <td class="copy"><input type="text" name="ProduktPris" size="6" value="<% response.write session("ProduktPris") %>" style="font-family: Verdana; font-size: 11 px"> <font color="#AA0000">Kr.</font></td> </tr> <tr> <td class="copy"> Pris</td> <td class="copy"><input type="text" name="PrisMedMoms" size="6" value="<% response.write session("PrisMedMoms") %>" style="font-family: Verdana; font-size: 11 px"> <font color="#AA0000">Kr.</font></td> </tr> <tr> <td class="copy"> Produkt Billed</td> <td><input type="text" name="ProduktBillede" size="49" value="<% response.write session("ProduktBillede") %>" style="font-family: Verdana; font-size: 11 px"></td> </tr> <tr> <td width="21%" height="10" class="copy" valign="top"> Beskrivelse</td> <td width="79%" height="10"><textarea name="ProduktBeskrivelse" rows="5" cols="59" style="font-family: Verdana; font-size: 10 px"><% response.write Replace(session("ProduktBeskrivelse"), "<br>", vbCrLf) %></textarea></td> </tr> <tr> <td width="21%" height="10" class="copy" valign="top"></td> <td width="79%" height="10"> <p class="copy"><br> <input type="submit" value="Gem Ændringer" name="b1"><br> </td> </tr> </table> </td> </tr> </table> </td> </tr> </table> <tr> <td width="100%"> <table border="0" width="144"> <tr> <td width="16"> <p align="right"><img border="0" src="../../../hgk_online/email/admin/images/link_back.gif"></td> <td width="114"> <p class="copy"><a href="../../../hgk_online/proshop/admin/index.asp" target="_top">Tilbage til menu</a></td> </tr> <% end if %> </table> </table> </body>
16. juni 2004 - 19:31
#22
Prøv at rette sådan dette: <% if request("mode") = "gem" then set conn = server.createobject("ADODB.connection") path = Server.MapPath("xxxx.mdb") conn.Open "DBQ="& path &";DefaultDir="& path & ";Driver={Microsoft Access Driver (*.mdb)}" ProduktBeskrivelse = Replace(request.form("ProduktBeskrivelse"),vbCrLf, "<br>") SQL="UPDATE Produkter SET " SQL = SQL & "ProduktNummer=" & ProduktNummer & ", " SQL = SQL & "ProduktNavn='" & ProduktNavn & "', " SQL = SQL & "ProduktPris=" & ProduktPris & ", " SQL = SQL & "PrisMedMoms=" & PrisMedMoms & ", " SQL = SQL & "ProduktBillede='" & ProduktBillede & "', " SQL = SQL & "ProduktBeskrivelse='" & ProduktBeskrivelse & "'" SQL = SQL & " where ProduktID =" & session("ProduktID") Response.write SQL Response.end Set RS = Conn.Execute(SQL) %> Bliver til: <% if request("mode") = "gem" then set conn = server.createobject("ADODB.connection") path = Server.MapPath("xxxx.mdb") conn.Open "DBQ="& path &";DefaultDir="& path & ";Driver={Microsoft Access Driver (*.mdb)}" ProduktNummer = Request.Form("ProduktNummer") ProduktNavn = Request.Form("ProduktNavn") ProduktPris = Request.Form("ProduktPris") PrisMedMoms = Request.Form("PrisMedMoms") ProduktBillede = Request.Form("ProduktBillede") ProduktBeskrivelse = Replace(request.form("ProduktBeskrivelse"),vbCrLf, "<br>") SQL="UPDATE Produkter SET " SQL = SQL & "ProduktNummer=" & ProduktNummer & ", " SQL = SQL & "ProduktNavn='" & ProduktNavn & "', " SQL = SQL & "ProduktPris=" & ProduktPris & ", " SQL = SQL & "PrisMedMoms=" & PrisMedMoms & ", " SQL = SQL & "ProduktBillede='" & ProduktBillede & "', " SQL = SQL & "ProduktBeskrivelse='" & ProduktBeskrivelse & "'" SQL = SQL & " where ProduktID =" & session("ProduktID") Response.write SQL Response.end Set RS = Conn.Execute(SQL) %>
16. juni 2004 - 20:18
#23
sådan her, skulle lige spise, troede ellers at man kun behøvede at gøre det på et felt: UPDATE Produkter SET ProduktNummer=1002, ProduktNavn='Sort T-Shirt', ProduktPris=99, PrisMedMoms=124, ProduktBillede='images/tshirt.gif', ProduktBeskrivelse='Sort kvalitets T-Shirt med trykt DM i Mix logo på ryggen, samt BUILT TO RESIST på venstre ærme' where ProduktID =2
16. juni 2004 - 20:21
#24
Ja så ser SQL sætningen rigtig ud. Så kan du fjerne disse to linjer igen: Response.write SQL Response.end og se om databasen ikke vil accpetere SQL sætningen.
16. juni 2004 - 20:25
#25
tak for det :o) smider du ikke lige et svar også
16. juni 2004 - 20:25
#26
Jo da :)
16. juni 2004 - 20:30
#27
tak endnu engang, kommer sikkert tilbage med flere probs med dette script
Kurser inden for grundlæggende programmering