Avatar billede slapstick Nybegynder
19. december 2001 - 13:39 Der er 16 kommentarer og
1 løsning

hvad går der galt her?

hvorfor får jeg den her fejl?
Fejltype:
Microsoft OLE DB Provider for ODBC Drivers (0x80040E07)
[Microsoft][ODBC Microsoft Access-driver] Datatyperne stemmer ikke overens i kriterieudtrykket.
/reg/opdater_bruger.asp, line 8

koden kommer her:

<%@ Language=\"VBSCRIPT\" %>
<% Response.buffer = True %>
<%
ting = Request.Form(\"id\")
Set Conn = Server.CreateObject(\"ADODB.Connection\")
Conn.Open \"DRIVER={Microsoft Access Driver (*.mdb)};  DBQ=C:\\Inetpub\\db\\register.mdb\"
SQL = \"UPDATE brugere set brugernavn=\'\"& Request.Form(\"brugernavn\") & \"\',kodeord=\'\" & Request.Form(\"kodeord\") &\"\',niveau=\'\"& Request.Form(\"niveau\") & \"\',navn=\'\"& Request.Form(\"navn\") &\"\',tlfnr=\'\"& Request.Form(\"tlfnr\") &\"\',email=\'\"& Request.Form(\"email\") & \"\' WHERE brugerid = \'\" & ting & \"\'\"
set rs = Conn.Execute(SQL)

Conn.Close
Set Conn = Nothing

\'Response.Redirect(\"overskrifter.asp\")

%>
<HTML>
<head>
<title>opdater bruger</title>

<link rel=\"stylesheet\" href=\"register.css\">

</head>
<BODY  bgcolor=\"#7795A5\" class=\"text\">
<table cellpadding=\"0\" cellspacing=\"0\" border=\"0\" width=\"500\">
<tr>
<td class=\"text\">
<b>
<a href=\"login.asp\" alt=\"login\">LOGIN</a>
|
<a href=\"ordre.asp\" alt=\"ordrer\">ORDRER</a>
|
<a href=\"kunder.asp\" alt=\"kunder\">KUNDER</a>
|
<a href=\"ny_reg.asp\" alt=\"registrering\">REGISTRERING</a>
|
<a href=\"rapport.asp\" alt=\"rapporter\">RAPPORTER</a>
|
<a href=\"soeg.asp\" alt=\"Søgning\">SØG</a>
|
<a href=\"admin.asp\" alt=\"adminzone\">ADMIN</a>
</b>
</td>
</tr>
</table>
<br>
<table cellspacing=\"0\" cellpadding=\"0\" border=\"0\">
<tr><td class=\"text\">
<b>
Brugeren <%=request.form(\"brugernavn\") %> er nu opdateret !
<br>
klik <a href=\"admin.asp\">her</a> for at komme tilbage til <a href=\"admin.asp\">admin zone</a>.
</b>
</td></tr>
</table>
</BODY>
</HTML>

og her kommer koden til den side som dataen komlmer fra:

<!--#include file=\"protect.inc\"-->
<%
brug = Request.form(\"brugernavn\")
Set Conn = Server.CreateObject(\"ADODB.Connection\")
Conn.Open \"DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=E:\\Inetpub\\db\\register.mdb\"
SQL = \"SELECT * FROM brugere WHERE brugerid = \"&brug
set rs = Conn.Execute(SQL)
id = rs(\"brugerid\")
bruger = rs(\"brugernavn\")
kode = rs(\"kodeord\")
niv = rs(\"niveau\")
navn = rs(\"navn\")
tlf = rs(\"tlfnr\")
mail = rs(\"email\")
%>
<HTML>
<head>
<title>opdater bruger</title>

<link rel=\"stylesheet\" href=\"register.css\">

</head>
<BODY  bgcolor=\"#7795A5\" class=\"text\">
<table cellpadding=\"0\" cellspacing=\"0\" border=\"0\" width=\"500\">
<tr>
<td class=\"text\">
<b>
<a href=\"login.asp\" alt=\"login\">LOGIN</a>
|
<a href=\"ordre.asp\" alt=\"ordrer\">ORDRER</a>
|
<a href=\"kunder.asp\" alt=\"kunder\">KUNDER</a>
|
<a href=\"ny_reg.asp\" alt=\"registrering\">REGISTRERING</a>
|
<a href=\"rapport.asp\" alt=\"rapporter\">RAPPORTER</a>
|
<a href=\"soeg.asp\" alt=\"Søgning\">SØG</a>
|
<a href=\"admin.asp\" alt=\"adminzone\">ADMIN</a>
</b>
</td>
</tr>
</table>
<br>
<table cellspacing=\"0\" cellpadding=\"0\" border=\"0\">
<tr>
<td class=\"text\">
<b><font size=\"2\">Opdater Bruger</font></b></td></tr>
<tr><td class=\"text\">
<FORM METHOD=\"POST\" ACTION=\"opdater_bruger.asp\">
<input type=\"hidden\" value=\"<%=id %>\" name=\"brugerid\"><br>
<b>Brugernavn:<br>
<input type=\"text\" name=\"brugernavn\" value=\"<%=bruger %>\"  size=\"15\" class=\"formsearchsmall\" style=\"width: 180px\">
<br><br>
Kodeord:<br>
<input type=\"text\" name=\"kodeord\" value=\"<%=kode %>\" size=\"15\" class=\"formsearchsmall\" style=\"width: 180px\">
<br><br>
Brugerniveau:<br>
<INPUT TYPE=\"text\" NAME=\"niveau\" value=\"<%=niv %>\" size=\"15\" class=\"formsearchsmall\" style=\"width: 180px\">
<br><br>
Navn:<br>
<input type=\"text\" name=\"navn\" value=\"<%=navn %>\"  size=\"15\" class=\"formsearchsmall\" style=\"width: 180px\">
<br><br>
Telefonummer:<br>
<input type=\"text\" name=\"tlfnr\" value=\"<%=tlf %>\" size=\"15\" class=\"formsearchsmall\" style=\"width: 180px\">
<br><br>
Emailadresse:<br>
<input type=\"text\" name=\"email\" value=\"<%=mail %>\" size=\"15\" class=\"formsearchsmall\" style=\"width: 180px\">
<BR><br><br>
</b>
<INPUT TYPE=SUBMIT VALUE=\"Opret\" class=\"formbutton\">
<input type=\"reset\" value=\"slet\" class=\"formbutton\">
    </FORM>
</td></tr>
</table>
</BODY>
</HTML>
<%
Conn.Close()
Set Conn = nothing
%>


Avatar billede nute Nybegynder
19. december 2001 - 13:44 #1
du prøver å sette inn tekst i en tall kolonne eller dato kolonne, eller tall i en tekst kolonne eller dato kolonne.

Alle verdier du skal sette inn i en tekstkolonne, skal omsluttes med \'\':

INSERT INTO tabell tekstKolonne VALUES \'en tekst\'

Alle verdier du skal sette inn i en tall kolonne skal *ikke* ha noe rundt seg:

INSERT INTO tabell tallKolonne VALUES 5

/nute


Avatar billede slapstick Nybegynder
19. december 2001 - 13:46 #2
ALLE kolonnerne er enten tekst eller notat der er INGEN tal/dato felter
Avatar billede nute Nybegynder
19. december 2001 - 13:50 #3
reglene gjelder også for conditions. Såvidt jeg kan se så er \'brugerid\' brukt en gang som tall kolonne. Derfor skal det derfor ikke \'\' rundt verdien...

WHERE brugerid = \'\" & ting & \"\'\"

skal være

WHERE brugerid = \" & ting

/nute
Avatar billede slapstick Nybegynder
19. december 2001 - 14:12 #4
ok nu har jeg ændret det til WHERE brugerid = \"&ting
nu siger den denne fejl:

Microsoft OLE DB Provider for ODBC Drivers (0x80040E14)
[Microsoft][ODBC Microsoft Access-driver] Der er en syntaksfejl, fordi der mangler en operator. i forespørgselsudtrykket \"brugerid =\".
/reg/opdater_bruger.asp, line 8
Avatar billede nute Nybegynder
19. december 2001 - 14:17 #5
det er fordi du requester formfeltet \'id\'. jeg kan ikke se at du har et \'id\' formelement, men du har et \'brugerid\' form element.

prøv ¨å bytt denne:

ting = Request.Form(\"id\")

med denne:

ting = Request.Form(\"brugerid\")

/nute
Avatar billede slapstick Nybegynder
19. december 2001 - 14:21 #6
aaah ja :(
DOH lol
tak for hjælpen !!!!!
men nu sker der noget skummelt
den siger ingen fejl, men den opdaterer ikke databasen?
Avatar billede nute Nybegynder
19. december 2001 - 14:25 #7
så kan det tyde på at det ikke er et record å oppdateere... at du får sendt over gal id...

bytt ut denne linje:

set rs = Conn.Execute(SQL)

med denne:

response.write \"<br>\" & SQL & \"<br>\"

så ser du hva innholdet i din SQL er. Denne kan du jo for eksempel kjøre direkte i access og se om den virker der. Alternativt bare sjekke med at ID\'en er korrekt.
Avatar billede slapstick Nybegynder
19. december 2001 - 14:29 #8
indholder ser rigtig nok ud og id\'et passer

UPDATE brugere set brugernavn=\'klixbull\',kodeord=\'renski\',niveau=\'18\',navn=\'Andreas Klixbull\',tlfnr=\'20758677\',email=\'klixbull@webzone.dk\' WHERE brugerid = 2



Avatar billede nute Nybegynder
19. december 2001 - 14:34 #9
får du kjørt den i access med ok resultat ?
Avatar billede slapstick Nybegynder
19. december 2001 - 14:36 #10
hvordan gør jeg det?
Avatar billede nute Nybegynder
19. december 2001 - 14:43 #11
lager en ny forespørgsel/Query i Access. velg \'ny forespørgsel ved brug av design view\' (eller noe tilsvarende. Jeg har Access på engelsk, så jeg kjenner ikke den danske oversettelsen) Deretter lukk det vinduet du får åpnet (det vinduet med alle tabellene listet). Gå deretter til det lille ikonet under \'File\' menyen og velg \'SQL view\'. Paste din SQL inn og tryll på det røde utropstegnet (eller velg \'Run\' fra \'Query\' menuen )

Meeeen....jeg skal ikke sitte å lære deg Access...du fikk løst ditt problem med feilmeldingen, og det var dét jeg ville hjelpe deg med

/nute
Avatar billede slapstick Nybegynder
19. december 2001 - 14:49 #12
ok men takker :)
i access virker sql strengen fint
Avatar billede nute Nybegynder
19. december 2001 - 14:51 #13
hmmm....jeg *tror* ikke det har noe å si, men du kan jo prøve å bytte ut:

set rs = Conn.Execute(SQL)

med

Conn.Execute(SQL)

Det er ikke noe poeng å legge noe i et recordset ved en UPDATE
Avatar billede slapstick Nybegynder
19. december 2001 - 14:59 #14
det spiller fint nu :)

Det er ikke noe poeng å legge noe i et recordset ved en UPDATE <--????
Avatar billede nute Nybegynder
19. december 2001 - 15:03 #15
når du gjør følgende:

set rs = Conn.Execute(SQL)

så legger du resultatet av din SQL-query inn i et recordset (ditt \'rs\'). Dette er ikke noe poeng ved en SQL UPDATE fordi enten så oppdateres et record, eller så gjør det det ikke. Det blir ikke lagt noe fornuftig inn i ditt recordset objekt

/nute
Avatar billede slapstick Nybegynder
19. december 2001 - 15:07 #16
aaaah ok
jeg er begynder ! skal lige lære det hehehehe
tak :)
Avatar billede nute Nybegynder
19. december 2001 - 15:08 #17
anytime :)
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