Avatar billede mrs Nybegynder
15. juni 2002 - 12:04 Der er 8 kommentarer og
3 løsninger

Hvad er der galt i denne kode

Jeg skal have nogle oplysninger ind i en access database, men det vil overhovedet ikke lade sig gøre.
Er der nogen der kan se hvor fejlen(e) ligger i denne kode:

<%
'Åbner connection til databasen
Set conn = Server.CreateObject("ADODB.Connection")
Conn.Open "DRIVER={Microsoft Access Driver (*.mdb)};DBQ="&Server.MapPath("../db/nyheder.mdb")

'Hvis brugeren har submittet formularen
    if Request.ServerVariables("REQUEST_METHOD") = "POST" then
   
'Tjecker om felterne er udfyld
    if (Request.Form("Title") <> "" AND Request.Form("Nyhed") <> "" AND Request.Form("IndsatAf") <> "") then
   
'Tilføjer brugeren til databasen
    Set rs = Server.CreateObject("ADODB.Recordset")
    strSQL = "select * from nyheder"
    rs.Open strsql, conn, 1, 3
   
'Tilføjer brugeren til databasen og sender ham/hende til login siden
    rs.AddNew
    rs("Title") = Server.HTMLEncode(Request("Title"))
    rs("Nyhed") = (Request("Nyhed"))
    rs("IndsatAf") = Server.HTMLEncode(Request("IndsatAf"))
    rs("Dato") = Now()
    rs.update
   
    Response.Write("<strong><font color='red'>Du har sendt formen!</font></strong>")
   
    rs.Close
    set rs = nothing
   
    else
    Response.Write("<strong><font color='red'>Du mangler at udfylde felter!</font></strong>")
   
    end if
    end if
%>
<html>
<META NAME="Generator" CONTENT="Stone's WebWriter 3.5">
<link rel="stylesheet" type="text/css" href="../style.css">
<head>
<!-- Minus AutoDato -->
<title>Oprette Nyhed Crew Area</title>
</head>

<body>

<center>
<p><b><font size="5">OPRET NYHED</b></font></p>
</center>
<form method="POST" action="pw_opret.asp">
<table border="1" width="100%" cellspacing="0" cellpadding="2">
        <tr>
          <td valign="middle" align="left" colspan="2"><font face="verdana" size="2"><br>Indtast venligst oplysningerne i følgende felter:<strong>
      <%=strError%></td>
        </tr>
        <tr>
          <td valign="middle" align="left"><div align="right"><p><strong><font face="verdana" size="2">Titel: </font></strong></td>
          <td valign="middle" align="left">
<input type="text" name="Titel" size="40"></td>
        </tr>
        <tr>
          <td valign="middle" align="left"><div align="right"><p><strong><font face="verdana" size="2">Nyhed: </font></strong></td>
          <td valign="middle" align="left">
<textarea rows="3" name="Nyhed" cols="40"></textarea>
</td>
        </tr>
        <tr>
          <td valign="top" align="left"><div align="right"><p><strong><font face="verdana" size="2">Skrevet af:</font></strong></td>
          <td valign="middle" align="left">
<input type="text" name="IndsatAf" size="40">
</td>
        </tr>
        <tr>
          <td valign="middle" align="left" colspan="2"><br>
          <input type="submit" value="Gem" name="Gem"> <input type="button" value="Annuller" name="Annuller" onClick="java script:location.href='main.asp'"></td>
        </tr>
      </table>
</form>
<center>
<b><a href="main.asp">Gå tilbage til hovedsiden uden at oprette en nyhed.</a></b>
</center>

</body>
</html>
Avatar billede whatever Nybegynder
15. juni 2002 - 12:05 #1
hvilken fejl får du?
Avatar billede mrs Nybegynder
15. juni 2002 - 12:12 #2
Det er lidt rodet koden, men den skriver at alle felter ikke er udfyldt, så den ligger heller ingen tekst i databasen.
Der er nok noget kodeværk for meget, jeg er ikke den største hej til det.
Avatar billede eagleeye Praktikant
15. juni 2002 - 13:32 #3
PRøv at rette if'en til:
if (Request.Form("Title") <> "") AND (Request.Form("Nyhed") <> "") AND (Request.Form("IndsatAf") <> "") then
Avatar billede mrs Nybegynder
16. juni 2002 - 11:56 #4
Nej det var ikke det, men der var en fejl i Titel stavningen. Nu siger den så:
Databasen eller objektet er skrivebeskyttet og kan ikke opdateres.
Det er i linjen rs.update den er gal, men hvad er der galt
Avatar billede whatever Nybegynder
16. juni 2002 - 12:14 #5
du har ikke skriverettigheder til databasen. hvis det ligger på et webhotel, skal databasen nok ligge i en bestemt mappe. hvis det kører lokalt på din computer - skal du give skriverettigheder til den mappe, som databasen ligger i.
Avatar billede mrs Nybegynder
16. juni 2002 - 12:39 #6
Den ligger lokal, og jeg har lige været i iis og give skriveadgang til mit domæne, men det er stadig den samme fejl.
Avatar billede mrs Nybegynder
16. juni 2002 - 13:25 #7
Nu paster jeg lige hele koden igen. Det kunne være nogen kunne se fejlen:

<%
'Åbner connection til databasen
Set conn = Server.CreateObject("ADODB.Connection")
Conn.Open "DRIVER={Microsoft Access Driver (*.mdb)};DBQ="&Server.MapPath("../db/nyheder.mdb")

'Hvis brugeren har submittet formularen
    if Request.ServerVariables("REQUEST_METHOD") = "POST" then
   
'Tjecker om felterne er udfyld
    if (Request.Form("Titel") <> "" AND Request.Form("Nyhed") <> "" AND Request.Form("IndsatAf") <> "") then
   
'Tilføjer brugeren til databasen
    Set rs = Server.CreateObject("ADODB.Recordset")
    strSQL = "select * from nyheder"
    rs.Open strsql, conn, 1, 3
   
'Tilføjer brugeren til databasen og sender ham/hende til login siden
    rs.AddNew
    rs("Titel") = Server.HTMLEncode(Request("Titel"))
    rs("Nyhed") = Server.HTMLEncode(Request("Nyhed"))
    rs("IndsatAf") = Server.HTMLEncode(Request("IndsatAf"))
    rs("Dato") = Now()
    rs.update
   
    Response.Write("<strong><font color='red'>Du har sendt formen!</font></strong>")
   
    rs.Close
    set rs = nothing
   
    else
    Response.Write("<strong><font color='red'>Du mangler at udfylde felter!</font></strong>")
   
    end if
    end if
%>
<html>
<META NAME="Generator" CONTENT="Stone's WebWriter 3.5">
<link rel="stylesheet" type="text/css" href="../style.css">
<head>
<!-- Minus AutoDato -->
<title>Oprette Nyhed Crew Area</title>
</head>

<body>

<center>
<p><b><font size="5">OPRET NYHED</b></font></p>

</center>
<form method="POST" action="op_nyheder.asp">
<table border="1" width="100%" cellspacing="0" cellpadding="2">
        <tr>
          <td valign="middle" align="left"><div align="right"><p><strong><font face="verdana" size="2">Titel: </font></strong></td>
          <td valign="middle" align="left">
<input type="text" name="Titel" size="40"></td>
        </tr>
        <tr>
          <td valign="middle" align="left"><div align="right"><p><strong><font face="verdana" size="2">Nyhed: </font></strong></td>
          <td valign="middle" align="left">
<textarea rows="3" name="Nyhed" cols="40"></textarea>
</td>
        </tr>
        <tr>
          <td valign="top" align="left"><div align="right"><p><strong><font face="verdana" size="2">Skrevet af:</font></strong></td>
          <td valign="middle" align="left">
<input type="text" name="IndsatAf" size="40">
</td>
        </tr>
        <tr>
          <td valign="middle" align="left" colspan="2"><br>
          <input type="submit" value="Gem" name="Gem"> <input type="button" value="Annuller" name="Annuller" onClick="java script:location.href='main.asp'"></td>
        </tr>
      </table>
</form>
<center>
<b><a href="main.asp">Gå tilbage til hovedsiden uden at oprette en nyhed.</a></b>
</center>

</body>
</html>
Avatar billede eagleeye Praktikant
16. juni 2002 - 15:46 #8
Får du udskrevet denne tekst:
Du har sendt formen!
Avatar billede eagleeye Praktikant
16. juni 2002 - 16:07 #9
Jeg har for sjov lige copy/pastede din kode og kørt den på min lokale server. Koden virker fint. Så tjek du ikke har to databaser med samme navn så du ikke bliver snyt og kigge i en DB men samme navn i en forkert folder.

du har stien ("../db/nyheder.mdb) ../db så hvis du kigge i den fil i samme folder som .asp filen så kigger du i en forkert database.
Avatar billede solle Nybegynder
17. juni 2002 - 12:53 #10
Du skal give den skrive rettigheder på fil-niveau da det ofte ikke er nok via IIS'en!
Avatar billede mrs Nybegynder
19. juni 2002 - 17:01 #11
Problemet lå i en mappe der ikke var "eksekreverbar" jeg fandt ud af det i microsofts hjælp. Nu får i lov alle tre at dele de 30 point.

mrs
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