Avatar billede Slettet bruger
25. oktober 2004 - 22:34 Der er 17 kommentarer og
1 løsning

Updatering af tabel information

Hejsa

Jeg kan simpelthen ikke finde fejlen !!!

Microsoft OLE DB Provider for ODBC Drivers error '80040e07'

[Microsoft][ODBC Microsoft Access Driver] Data type mismatch in criteria expression.

/trade/gem_ret_data.asp, line 21

HER ER KODEN :

<html>

<head>

<title>gem</title>
</head>

<body>

<%
Set Conn = Server.CreateObject("ADODB.Connection")
Conn.Open "DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" & server.MapPath("produkter.mdb")

strSQL = "UPDATE DISTINCTROW krystaller SET produkt = '" & request.form("produkt") & "', pris = '" & request.form("pris") & "', produkt_beskrivelse = '" & request.form("produkt_beskrivelse") & "' WHERE id = " & Request("id")
'strSQL = strSQL & " VALUES ('" & request.form("produkt") & "','" & request.form("pris") & "','" & request.form("produkt_beskrivelse") & "')"


'response.write strSQL

Conn.Execute (strSQL)

conn.Close
Set conn = nothing
Set strSQL = nothing

%>

</body>

</html>
Avatar billede Slettet bruger
25. oktober 2004 - 22:35 #1
Avatar billede -mundi- Nybegynder
25. oktober 2004 - 22:39 #2
Start med at skifte til denne driver :
Conn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source="&server.MapPath("produkter.mdb")

Det løser ikke dit problem, men den er mere stabil og performer bedre.

prøv at udskrive den sql sætning som du laver :
response.write strSQL
response.end
Avatar billede -mundi- Nybegynder
25. oktober 2004 - 22:42 #3
hvis pris er et talfelt i databasen skal din sql se sådan her ud :
strSQL = "UPDATE DISTINCTROW krystaller SET produkt = '" & request.form("produkt") & "', pris = " & request.form("pris") & ", produkt_beskrivelse = '" & request.form("produkt_beskrivelse") & "' WHERE id = " & Request("id")

dvs uden enkelt "plinger" omkring pris værdien

alle de steder du indsætter tekst i databasen skal ' erstattes med '' (2 plinger) da det ellers giver fejl:
replace(request.form("produkt_beskrivelse"),"'","''")
Avatar billede Slettet bruger
25. oktober 2004 - 22:43 #4
Det skete der ikke meget ved, nu kommer den ikke med nogen fejlmelding, men der sker heller ikke ret meget andet
Avatar billede -mundi- Nybegynder
25. oktober 2004 - 22:44 #5
strSQL = "UPDATE krystaller SET produkt = '" & replace(request.form("produkt"),"'","''") & "', pris = " & request.form("pris") & ", produkt_beskrivelse = '" & replace(request.form("produkt_beskrivelse"),"'","''") & "' WHERE id = " & Request("id")
Avatar billede Slettet bruger
25. oktober 2004 - 22:44 #6
hmmm... er lidt forvirret... u know temmelig newbie
Avatar billede -mundi- Nybegynder
25. oktober 2004 - 22:45 #7
det sidste jeg har postet, burde du bare kunne paste ind :-)
Avatar billede Slettet bruger
25. oktober 2004 - 22:45 #8
<%
Set Conn = Server.CreateObject("ADODB.Connection")
Conn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source="&server.MapPath("produkter.mdb")

strSQL = "UPDATE krystaller SET produkt = '" & replace(request.form("produkt"),"'","''") & "', pris = " & request.form("pris") & ", produkt_beskrivelse = '" & replace(request.form("produkt_beskrivelse"),"'","''") & "' WHERE id = " & Request("id")'strSQL = strSQL & " VALUES ('" & request.form("produkt") & "','" & request.form("pris") & "','" & request.form("produkt_beskrivelse") & "')"


'response.write strSQL
response.end

Conn.Execute (strSQL)

conn.Close
Set conn = nothing
Set strSQL = nothing

%>
Avatar billede -mundi- Nybegynder
25. oktober 2004 - 22:46 #9
slet "response.end" det var kun for at teste
Avatar billede Slettet bruger
25. oktober 2004 - 22:47 #10
oki doki
Avatar billede Slettet bruger
25. oktober 2004 - 22:47 #11
Microsoft JET Database Engine error '80040e14'

Syntax error in UPDATE statement.

/trade/gem_ret_data.asp, line 21
Avatar billede -mundi- Nybegynder
25. oktober 2004 - 22:52 #12
prøv lige at sætte en ' foran Conn.Execute (strSQL)
og indsætte
og fjerne den ' der er foran 'response.write strSQL , så man kan se den sql der kommer ud af det
Avatar billede -mundi- Nybegynder
25. oktober 2004 - 22:54 #13
ahh det er fordi det formfelt du skriver prisen ind i hedder "email" det skal rettes til "pris"
Avatar billede Slettet bruger
25. oktober 2004 - 23:00 #14
Virker stadig ikke
Avatar billede Slettet bruger
25. oktober 2004 - 23:00 #15
ahh... prøver jeg lige
Avatar billede -mundi- Nybegynder
25. oktober 2004 - 23:03 #16
Så mangler du bare at rette
'Conn.Execute (strSQL) til Conn.Execute (strSQL)
og
response.write strSQL til 'response.write strSQL
Avatar billede Slettet bruger
26. oktober 2004 - 19:39 #17
hmm... ved ikke hvorfor den ikke vil accepter dit svar TRÆLS Kan hilse og sige at pointene er dine det virker :o)
Avatar billede Slettet bruger
26. oktober 2004 - 19:39 #18
sådan...
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