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
Cloud & AI
I dette særtema ser vi på, hvordan cloud og AI bliver fundamentet for virksomhedernes digitale forretning, og hvordan de nye muligheder for automatisering og forretningsværdi kan udnyttes uden at miste overblik, sikkerhed og menneskelig kontrol.
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