Avatar billede mortenbock Nybegynder
13. januar 2004 - 06:59 Der er 4 kommentarer og
2 løsninger

Indsæt i database virker ikke

Hej.

jeg har forsøgt mig med at lave en databasestyret side, men jeg kan ikke få min tilføj side til at virke... Koden i mit ASP dokument ser således ud:

<%@LANGUAGE="VBSCRIPT"%>

<%
Set Conn = Server.CreateObject("ADODB.Connection")
Conn.Open ("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=d:/XXXXXXXX/db/drinks.mdb")
%>


<%
Set drinks = Server.CreateObject("ADODB.Recordset")
drinks.Open = "drinks", database, 2, 2
%>

<%
drinks.AddNew
    drinks("navn") = Request.QueryString("navn")
    drinks("indhold") = Request.QueryString("indhold")
    drinks("beskrivelse") = Request.QueryString("beskrivelse")
    drinks("pris") = Request.QueryString("pris")
drinks.Update

Response.Redirect("tilfojdrink.asp")
%>


Jeg får så en "HTTP 500 - Internal server error" når jeg sender data til siden fra min formular. Det er skrevet direkte af fra et hæfte der omhandler emnet, så jeg går ud fra at det er mit webhotel der har nogle bestemte krav til hvordan tingene skal være. Er mit hæfte forældet eller hvad?

/Morten
Avatar billede clscableguy Praktikant
13. januar 2004 - 08:01 #1
SQL = "Insert Into drinks (navn, indhold, beskrivelse, pris) values ('" & Request.QueryString("navn") & "', '" & Request.QueryString("indhold") & "', '" & Request.QueryString("beskrivelse") & "', '" & Request.QueryString("pris") & "',)"
conn.execute(SQL)
Avatar billede cesil Nybegynder
13. januar 2004 - 08:16 #2
for at få en ordentlig fejlmeddelelse skal du gør følgende:
funktioner --> internetinstillinger --> avanceret --> Fjern hakket i "Vis meddelelser om uskadelige-HTTP fejl"
Kør så din funktion igen og skriv hvad du får ud af det.
Avatar billede mortenbock Nybegynder
13. januar 2004 - 08:31 #3
Det lykkedes mig selv at finde frem til den endelige løsning. Den blev som følger:

<%@LANGUAGE="VBSCRIPT"%>

<%
Set Conn = Server.CreateObject("ADODB.Connection")
Conn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.MapPath("db/drinks.mdb")
%>


<%
Set drinks = Server.CreateObject("ADODB.Recordset")
drinks.Open "SELECT * FROM drinks", conn, 2, 2
%>

<%
drinks.AddNew
    drinks("navn") = Request.Form("navn")
    drinks("indhold") = Request.Form("indhold")
    drinks("beskrivelse") = Request.Form("beskrivelse")
    drinks("pris") = Request.Form("pris")
drinks.Update

Response.Redirect("tilfojdrink.asp")
%>

----
Det der var gået galt for mig var flere forskellige ting. Jeg havde f.eks. blandet rundt på Recordset og Connection variablerne, hvilket lige pludselig giver mening. Det var altså især "Drinks.Open...." Linien den var gal med.

Men tak for jeres bud alligevel... Hvis I laver svar skal jeg nok dele point ud...
Avatar billede clscableguy Praktikant
13. januar 2004 - 08:41 #4
:)
Avatar billede cesil Nybegynder
13. januar 2004 - 10:26 #5
svar
Avatar billede cesil Nybegynder
13. januar 2004 - 10:36 #6
Du bør stadig gøre som jeg skrev ovenfor. Ellers får du aldrig en ordentlig fejlmeddelelse. Det er lidt svært og finde fejl når man ikke får at vide hvad og hvor den er.

:-)
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