Avatar billede annettef Nybegynder
22. februar 2005 - 15:48 Der er 12 kommentarer og
1 løsning

Problemer med update - træls fejl?

Hej

Jeg har denne side hvor jeg bruger update til at gemme nogle data i min database.

::::KODE 1::::
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<!--#INCLUDE FILE="config.inc"-->
<!--#INCLUDE FILE="level2.inc"-->
<!--#include file="dbconn.inc"--><!-- Database forbindelse oprettes via ekstern fil-->
<html>
<head>
<title>Rediger vare trin 3</title>
</head>
<body>
<%
' Update funktion
' Database connection

intAdrId = request.form("IntAdrId")
SQL = "UPDATE adr SET adrId2 = '"& request.form("adrId2") & "', overskrift = '"& request.form("overskrift") & "' , adresse = '"& request.form("adresse") & "' , e-mail = '"& request.form("email") & "' WHERE adrId =  " & intAdrId

response.write sql ' skriver i db

'Conn.Execute (SQL)

' Sender brugeren til forsiden når databasen er opdateret
Conn.Execute(SQL)
response.redirect("rediger_adr1.asp")


conn.Close 'luk db
Set conn = nothing
Set SQL = nothing
%>
</body>
</html>
::::SLUT::::

Mit problem er nu at jeg hele tide får følgende fejl, når jeg forsøger at opdatere
::::FEJL::::
UPDATE adr SET adrId2 = '2', overskrift = 'TELE IT COMMUNICATION' , adresse = 'Gammelgårdsvej 6 8660 Skanderborg' , e-mail = 'test@test.test' WHERE adrId = 2
Microsoft JET Database Engine error '80040e14'

Syntax error in UPDATE statement.

/tele-it/www/admin/rediger_adr2B.asp, line 22
::::SLUT::::

Linie 22 er følgende
14    intAdrId = request.form("IntAdrId")
15    SQL = "UPDATE adr SET adrId2 = '"& request.form("adrId2") & "', overskrift = '"& request.form("overskrift") & "' , adresse = '"& request.form("adresse") & "' , e-mail = '"& request.form("email") & "' WHERE adrId =  " & intAdrId
16
17    response.write sql ' skriver i db
18
19    'Conn.Execute (SQL)
20 
21    ' Sender brugeren til forsiden når databasen er opdateret
22    Conn.Execute(SQL)
23    response.redirect("rediger_adr1.asp")

Siden før, hvor data kommer fra
::::SIDE 2::::
<%
Dim Conn, DSN, retid, strSQL, rs, strGammelTekst, frmRetid, strOverskrift, strIndhold, strTekstKat
Response.Buffer=True
%>
<!--#INCLUDE FILE="config.inc"-->
<!--#INCLUDE FILE="level2.inc"-->
<!--#include file="dbconn.inc"--><!-- Database forbindelse oprettes via ekstern fil-->
<html>

<head>
<title>TELE IT COMMUNICATION ApS</title>
<Link Rel="stylesheet" href="tele-it.css" Type="text/css" > <!-- link til ekstern style sheet -->
<style type="text/css">
<!--
.style1 {color: #FFFFFF}
body {
    margin-left: 4px;
    margin-top: 0px;
}
-->
</style>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"></head>

<body>
<br>
<table width="670" border="0" align="left"><!--Hovedtabel start-->
  <tr>
    <td height="18" valign="middle" bgcolor="#969696"><span class="style1">Rediger tekst</span></td>
  </tr>
<tr><td>

<%
intAdrId = request.form("intAdrId")

  strSQL ="Select * From adr Where adrId =" & intAdrId
  Set rs = Conn.Execute(strSQL)



Response.Write "<FORM method='post' action='rediger_adr2B.asp' name='rediger'>"
Response.Write "<table border='0' cellspacing='0' cellpadding='0' width='660' align='left'>"
Response.Write "<tr><td height='10'>"
Response.Write "Overskrift: <br>"
Response.Write "<input type='text' name='overskrift' size='100' value='" & rs("Overskrift") & "'>"
Response.Write "</td></tr><tr>"
Response.Write "<td height='180'>"
Response.Write "<br>"
Response.Write "Adresse:<br>"
Response.Write "<textarea name='adresse' rows='15' cols='75' wrap='VIRTUAL'>" & rs("adresse") & "</textarea>"
Response.Write "</td>"
Response.Write "</tr>"
Response.Write "<tr><td height='10'><br>E-mail:<br>"
Response.Write "<input type='text' name='email' size='100' value='" & rs("e-mail") &"'>"
Response.Write "</td></tr>"
Response.Write "<tr><td height='5'>"
Response.Write "<input type='hidden' NAME='adrId2' value='2'>"
Response.Write "<input type='hidden' NAME='intAdrId' value='" & rs("adrId") & "'>"
Response.Write "<INPUT TYPE='Submit' VALUE='Gem ændring'>"
Response.Write "&nbsp;"
Response.Write "<INPUT TYPE='Reset' VALUE='Fortryd'>"
Response.Write "&nbsp;"
Response.Write "<input type='button' value='Tilbage til oversigt' name='Annuller' onClick='java script:location.href='rediger_adr1.asp'>"
Response.Write "</td>"
Response.Write "</tr>"
Response.Write "<tr>"
Response.Write "<td align='right'>&nbsp;</td>"
Response.Write "</tr>"
Response.Write "</table>"
Response.Write "</FORM>"
Response.Write "</td>"
Response.Write "</tr>"
Response.Write "</table>"
%>
<%
Conn.Close
Set Conn = Nothing
%>
</body>
</html>
::::SLUT::::

Håber der er nogen der kan se hvor fejlen er

/Annette
Avatar billede di8leva Nybegynder
22. februar 2005 - 15:53 #1
SET adrId2 = '2' WHERE adrId = 2

den her ser underlig ud? Hvorfor sætter du værdien til 2 når den er 2 allaredan? Og er det en int eller char? prøv at fjerne '' kring den første 2, eller tilføj dem på den siste 2. Måske hjælper det?
Avatar billede hiks Nybegynder
22. februar 2005 - 16:04 #2
hvis det ikke er det første der så prøv evt. at fjerne de mellemrum du har mellem updateværdien og kommaet således:

SQL = "UPDATE adr SET adrId2 = '"& request.form("adrId2") & "', overskrift = '"& request.form("overskrift") & "', adresse = '"& request.form("adresse") & "', e-mail = '"& request.form("email") & "' WHERE adrId =  " & intAdrId

/hiks
Avatar billede annettef Nybegynder
22. februar 2005 - 16:06 #3
adrId2 er navnet på en kolonne i tabellen og adrId er navnet på en anden kolonne i tabellen

adrId2 og adrId er begge int
Avatar billede di8leva Nybegynder
22. februar 2005 - 16:08 #4
undskyld, jeg læste dem som samme kolonn =)

men så prøv med ... SET adrId2 = 2 ... WHERE adrId = 2
Avatar billede annettef Nybegynder
22. februar 2005 - 16:20 #5
Nu har jeg prøvet begge jeres forslag, men får stadig samme fejl...
Avatar billede hiks Nybegynder
22. februar 2005 - 16:42 #6
ok - adrID2 er det en integer? og er det det i databasen? det samme med adrId? for hvis det er tekst skal du huske ' omkring også i din WHERE

prøv evt. at lukke dit sql statement

SQL = "UPDATE adr SET adrId2 = '"& request.form("adrId2") & "', overskrift = '"& request.form("overskrift") & "', adresse = '"& request.form("adresse") & "', e-mail = '"& request.form("email") & "' WHERE adrId =  '" & intAdrId & "';"

/hiks
Avatar billede annettef Nybegynder
22. februar 2005 - 19:10 #7
Giver stadig samme fejl, hvis jeg prøver at lukke mit sql statement
Avatar billede kjulius Novice
22. februar 2005 - 22:02 #8
Ku' det evt. være feltet e-mail, der er problemet? Måske sku' du prøve at sætte feltnavnet i brackets ([e-mail]):

SQL = "UPDATE adr SET adrId2 = "& request.form("adrId2") & ", overskrift = '"& request.form("overskrift") & "' , adresse = '"& request.form("adresse") & "' , [e-mail] = '"& request.form("email") & "' WHERE adrId =  " & intAdrId

Man ku' godt formode, at en bindestreg i et feltnavn gi'r problemer...
Avatar billede annettef Nybegynder
24. februar 2005 - 08:34 #9
Nu har jeg forsægt at sætte [] omkring e-mail, det hjalp ikke. Så har jeg ændret feltets navn til email i stedet, det hjalp heller ikke...

Så jeg bliver vist snart nødt til at finde en anden måde at gemme oplysningerne på.

/Annette
Avatar billede annettef Nybegynder
24. februar 2005 - 08:47 #10
Nu hvor jeg har ændre feltet med e-mailen til email i stedet for, får jeg følgende fejl

UPDATE adr SET adrId2 ='2',overskrift='TELE IT COMMUNICATION',adresse='Gammelgårdsvej 6 8660 Skanderborg',email = 'test@test.test'WHERE adrId='2';
Microsoft JET Database Engine error '80040e07'

Data type mismatch in criteria expression.

/tele-it/www/admin/rediger_adr2B.asp, line 20

Linie 20
14    intAdrId = request.form("IntAdrId")
15    SQL = "UPDATE adr SET adrId2 ='"&request.form("adrId2")&"',overskrift='"&request.form("overskrift")&"',adresse='"&request.form("adresse")&"',email = '"& request.form("email")&"'WHERE adrId='"& intAdrId & "';"
16
17    response.write sql ' skriver i db
18
19    ' Sender brugeren til forsiden når databasen er opdateret
20    Conn.Execute(SQL)
21    response.redirect("rediger_adr1.asp")
Avatar billede annettef Nybegynder
24. februar 2005 - 08:52 #11
Så fandt jeg fejlen

Jeg havde glemt at fjerne ' ' omkring mine tal efter jeg havde prøvet alle de andre ting.

Men de som vil dele point kan lægge et svar, for I ledte mig alle på den ene eller anden måde i den rigtige retning...

/Annette
Avatar billede hiks Nybegynder
24. februar 2005 - 08:53 #12
UPDATE adr SET adrId2 ='2', overskrift='TELE IT COMMUNICATION', adresse='Gammelgårdsvej 6 8660 Skanderborg', email = 'test@test.test' WHERE adrId='2';

du mangler et mellemrum mellem WHERE og dine updates.

/hiks
Avatar billede annettef Nybegynder
04. marts 2005 - 13:42 #13
Lukker spørgsmålet
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