Avatar billede martin181 Nybegynder
08. januar 2007 - 10:33 Der er 12 kommentarer og
1 løsning

Gem i database giver problemer

Hejsa,

jeg er ved at lave et lille admin modul til en side jeg har - og jeg har lidt problemer med at få gemt mine data i min database.

Min database er en Access database.

Lidt oplysninger om databasen:

Navn: Pilots
Tabel navn: Collection
Felter:
ID - Autonumber
Dato - Text
Overskrift - Text
OprettetAf - Text
Mail - Text
Emne - Memo

Mine data kommer fra denne side:

opretcollection.asp:
<HTML>
<HEAD>
<TITLE>Admin - Opret collection</TITLE>
<meta name="Generator" content="Stone's WebWriter 4">
<LINK REL=stylesheet HREF="senere" TYPE="text/css">
</HEAD>
<BODY background="../pics/bgtcr.gif" properties=fixed>
<CENTER></CENTER>
<HR>
Udfyld nedenstående felter
<FORM ACTION='gemcollection.asp' NAME="gem" METHOD="POST">
<BR>
<TABLE BORDER="0">
<TR>
    <TD>Model: (eks. 1631) </TD>
    <TD><INPUT TYPE="text" SIZE="10" MAXLENGTH="10" NAME="Dato"></TD>
    <TD></TD>
</TR>
<TR>
    <TD>Farve-Størrelse1: (eks. 4022)</TD>
    <TD><INPUT TYPE="text" size="30" maxlength="30" NAME="Overskrift"></TD>
    <TD></TD>
</TR>
<TR>
    <TD>Farve-Størrelse2: (eks. 4022)</TD>
    <TD><INPUT TYPE="text" NAME="OprettetAf" SIZE="10" MAXLENGTH="10"></TD>
</TR>
<TR>
    <TD>Farve-Størrelse3: (eks. 4022)</TD>
    <TD><INPUT TYPE="text" NAME="Mail" SIZE="30" MAXLENGTH="50"></TD>
</TR>
<TR>
    <TD>Farve-Størrelse4: (eks. 4022)</TD>
    <TD><TEXTAREA WRAP="physical" ROWS="5" COLS="51" NAME="Emne"></TEXTAREA></TD>
    <TD></TD>
</TR>
</TABLE>
<BR>
<BR>
<BR>
<INPUT TYPE="submit" VALUE="Gem" NAME="Registrer">
<INPUT TYPE="reset" VALUE="Rens felter" NAME="Reset">
<!-- <INPUT TYPE="button" VALUE="Tilbage" ONCLICK="window.location.href='../default.asp'"> -->
</FORM> 
</BODY>
</HTML>

Og gemcollection.asp ser således ud:
<%
RESPONSE.BUFFER="True"
%>
<%
DIM CONNECT, ONRegi
SET CONNECT = SERVER.CREATEOBJECT("ADODB.CONNECTION")
CONNECT.OPEN "DRIVER={Microsoft ACCESS DRIVER (*.MDB)}; DBQ=" & Server.MapPath ("pilots.mdb")
%>
<!-- Herunder foregår selve indsættelsen i databasen -->
<%
SET ONRegi = CONNECT.EXECUTE ("INSERT INTO Collection (Dato, Overskrift, OprettetAf, Mail, Emne) VALUES ('"& REQUEST.form("Dato")&"','"& REQUEST.form("Overskrift")&"','"&  REQUEST.form("OprettetAf")&"','"& REQUEST.form("Mail")&"','"& REQUEST.form("Emne")&"')")
%>
Tester!

Jeg får at Internet Explorer ikke kan åbne siden (IE7) - men laver jeg en anden side med samme navn - kun med feks teksten "Tester!" på - ja, så viser den fint min side...

Så mit spørgsmål er... hvad er der galt?

Jeg har taget koden fra noget andet kode jeg selv har lavet en gang, for det vidste jeg jo virkede... og så ville jeg bare ændre side og variablenavnene senere...
Avatar billede madeindk Nybegynder
08. januar 2007 - 10:55 #1
Hej, du kan evt. lige prøve at gøre sådan her :-)

<%
RESPONSE.BUFFER="True"

SET CONNECT = SERVER.CREATEOBJECT("ADODB.CONNECTION")
CONNECT.OPEN "DRIVER={Microsoft ACCESS DRIVER (*.MDB)}; DBQ=" & Server.MapPath ("pilots.mdb")

SQL = "INSERT INTO Collection (Dato, Overskrift, OprettetAf, Mail, Emne) VALUES ('" & REQUEST.form("Dato")& "','" & request.form("Overskrift")&"','" & REQUEST.form("OprettetAf")&"','" & REQUEST.form("Mail") & "','" & REQUEST.form("Emne") & "') "
Response.Write SQL
'Connect.Execute(SQL)
%>

Så udskriver vi SQL stringen uden at eksekvere den - så kan det være du kan se hvorfor fejlen opstår.
Avatar billede madeindk Nybegynder
08. januar 2007 - 10:57 #2
Og desuden tror jeg også problemet ligger lige omkring "VALUES" :-) Prøv denne i stedet for:

<%
RESPONSE.BUFFER="True"

SET CONNECT = SERVER.CREATEOBJECT("ADODB.CONNECTION")
CONNECT.OPEN "DRIVER={Microsoft ACCESS DRIVER (*.MDB)}; DBQ=" & Server.MapPath ("pilots.mdb")

SQL = "INSERT INTO Collection (Dato, Overskrift, OprettetAf, Mail, Emne)" & " VALUES ('" & REQUEST.form("Dato")& "','" & request.form("Overskrift")&"','" & REQUEST.form("OprettetAf")&"','" & REQUEST.form("Mail") & "','" & REQUEST.form("Emne") & "') "
Response.Write SQL
'Connect.Execute(SQL)
%>
Avatar billede martin181 Nybegynder
08. januar 2007 - 11:09 #3
Med dit nyeste forslag får jeg flg.:
INSERT INTO Collection (Dato, Overskrift, OprettetAf, Mail, Emne) VALUES ('1','1','1','1','1')

Umiddelbart kan jeg ikke se nogle fejl i det...

men hvis jeg fjerner Response.Write SQL - og fjerner  ' foran Connect.Execute(SQL) - ja så giver den samme melding som før...

"This error (HTTP 500 Internal Server Error) means that the website you are visiting had a server problem which prevented the webpage from displaying.

For more information about HTTP errors, see Help."
Avatar billede martin181 Nybegynder
08. januar 2007 - 11:12 #4
Jeg har endnu en webserver - den er i modsætning til den jeg bruger på dette projekt - ude i byen - prøvede at placere mine filer på den ude i byen - den giver mig samme problemer...
Avatar billede madeindk Nybegynder
08. januar 2007 - 11:37 #5
Ok - må jeg prøve at se et link til dit site?
Avatar billede madeindk Nybegynder
08. januar 2007 - 11:38 #6
Men ellers så gør følgende, for at se fejlen: Funktioner (Tools) -> Internet Options (Internetindstillinger) -> Advanced -> Fjern hak fra Show friendly HTTP error messages
Avatar billede martin181 Nybegynder
08. januar 2007 - 12:25 #7
Jeg fjernede lige hakket og fik flg. melding:

Microsoft OLE DB Provider for ODBC Drivers error '80004005'

[Microsoft][ODBC Microsoft Access Driver] Operation must use an updateable query.

/pilots/gemcollection.asp, line 8

ellers er mit link:

http://www.prodesigndenmark.com/pilots/admin.asp

Og det er den øverste - opret collection vi "leger" med her...
Avatar billede madeindk Nybegynder
08. januar 2007 - 12:26 #8
Din database er skrivebeskyttet. Her er en løsning på dit problem: http://activedeveloper.dk/articles/58/
Avatar billede fennec Nybegynder
08. januar 2007 - 12:31 #9
Darkskies har lavet en flash film:
http://www.darkskies.dk/rettigheder.swf
Avatar billede martin181 Nybegynder
08. januar 2007 - 12:41 #10
Det virkede :-)

Tak for hjælpen :-)

Smider du et svar?
Avatar billede madeindk Nybegynder
08. januar 2007 - 12:43 #11
Svar.
Avatar billede martin181 Nybegynder
08. januar 2007 - 12:48 #12
Så får du point også :-)
Avatar billede madeindk Nybegynder
08. januar 2007 - 12:48 #13
Tak for point :-)
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