Avatar billede cotus Nybegynder
26. april 2002 - 09:33 Der er 18 kommentarer

Fejlfinding i script...

Hvad er der galt her?

<HTML>
<HEAD>
<TITLE> The Donald Duck Club </TITLE>
</HEAD>

<BODY>
<% If Request.Querystring ("nyhed") = "add" Then %>
<form method="post" action="nyheder.asp?id=none&nyhed=save">
Overskrift (Max 50 tegn):  <input type="text" name="OVERSKRIFT"><br>
Forfatter (Max 50 tegn):  <input type="text" name="FORFATTER"><br>
Dato (F.eks. 26-04-02 - Max 8 tegn):  <input type="text" name="DATO"><br>
Besked:  <input type="text" name="BESKED"><br>
<input type="submit" value="Opret"></form>

<% Elseif Request.Querystring ("nyhed") = "top5" Then
Set Conn = Server.CreateObject("ADODB.Connection")
DSN = "DRIVER={Microsoft Access Driver (*.mdb)}; "
DSN = DSN & "DBQ=" & Server.MapPath("nyheder.mdb")
Conn.Open DSN
strSQL = "Select top 5 * from nyheder"
Set rs = Conn.Execute(strSQL)
Do
  %><a href='nyheder.asp?id=none&nyhed=<% Response.Write rs("ID") %>'><% Response.Write rs("OVERSKRIFT") & "<br>" %></a><%
  rs.MoveNext
Loop While Not rs.EOF
Conn.Close
Set Conn = Nothing

Elseif Request.Querystring ("nyhed") = "top1" Then
Set Conn = Server.CreateObject("ADODB.Connection")
DSN = "DRIVER={Microsoft Access Driver (*.mdb)}; "
DSN = DSN & "DBQ=" & Server.MapPath("nyheder.mdb")
Conn.Open DSN
strSQL = "Select top 1 * from nyheder"
Set rs = Conn.Execute(strSQL)
Do
  Response.Write rs("OVERSKRIFT") & "<br><br>"
  Response.write "<i>Af: "
  Response.Write rs("FORFATTER")
  Response.write "d. "
  Response.Write rs("DATO")
  Response.write "</i><br><br>"
  Response.Write rs("BESKED")

  rs.MoveNext
Loop While Not rs.EOF
Conn.Close
Set Conn = Nothing

%> <a href='nyheder.asp?nyhed=all'>Se alle artikler</a> <%

Elseif Request.Querystring ("nyhed") = "all" Then
Set Conn = Server.CreateObject("ADODB.Connection")
DSN = "DRIVER={Microsoft Access Driver (*.mdb)}; "
DSN = DSN & "DBQ=" & Server.MapPath("nyheder.mdb")
Conn.Open DSN
strSQL = "Select from nyheder"
Set rs = Conn.Execute(strSQL)
Do
  %><a href='nyheder.asp?id=none&nyhed=<% Response.Write rs("ID") %>'><% Response.Write rs("OVERSKRIFT") & "<br>" %></a><%
  rs.MoveNext
Loop While Not rs.EOF
Conn.Close
Set Conn = Nothing

Elseif Request.Querystring ("nyhed") = "save" Then
Set Conn = Server.CreateObject("ADODB.Connection")
DSN = "DRIVER={Microsoft Access Driver (*.mdb)}; "
DSN = DSN & "DBQ=" & Server.MapPath("nyheder.mdb")
Conn.Open DSN
strSQL = "Insert into nyheder (OVERSKRIFT, FORFATTER, DATO, BESKED) values('" & Request.Form("OVERSKRIFT") & "','" & Request.Form("FORFATTER") & "','" & Request.Form("DATO") & "','" & Request.Form("BESKED") & "')"
Conn.Execute(strSQL)
Conn.Close
Set Conn = Nothing
%>
<font face=verdana size=2>
<%
Response.write "Artiklen "
Response.write Request.Form("OVERSKRIFT")
Response.write ", er nu oprettet, med følgende data:"
%> <br><br> <%
Response.write "Overskrift: " & Request.Form("OVERSKRIFT") %> <br> <%
Response.write "Forfatter: " & Request.Form("FORFATTER") %> <br> <%
Response.write "Dato: " & Request.Form("DATO") %> <br> <%
Response.write "Besked: " & Request.Form("BESKED") %> <br> <%

Else
Response.redirect "nyheder.asp?nyhed=all"
End if %>
</BODY>
</HTML>

Det skulle sådant set være et nyhedssystem, men det fungerer altså ikke... kan nogen give mig råd til hvordan jeg laver det om, så det bliver bedre, eller hvad fejlen er?

/cotus
Avatar billede -mundi- Nybegynder
26. april 2002 - 09:36 #1
Det hjælper med en fejlmeddelelse
Avatar billede cotus Nybegynder
26. april 2002 - 09:40 #2
Error Type:
Microsoft VBScript runtime (0x800A01A8)
Object required: 'Conn'
/25765619/nyheder/nyheder.asp, line 48

Og her er linierne omkring linie 48:
46' Loop While Not rs.EOF
47' Conn.Close
48' Set Conn = Nothing
49'
50' %> <a href='nyheder.asp?nyhed=all'>Se alle artikler</a> <%

/cotus
Avatar billede -mundi- Nybegynder
26. april 2002 - 10:54 #3
Jeg kan ikke se nogen fejl ... Conn burde indeholde et connection objekt ...
Avatar billede cotus Nybegynder
26. april 2002 - 10:57 #4
Og det gør det ikke, eller hvad?
Avatar billede -mundi- Nybegynder
26. april 2002 - 10:59 #5
næ den siger at conn slet ikke er et object
Avatar billede -mundi- Nybegynder
26. april 2002 - 11:00 #6
prøv en test med at udelade linie 48 og se om den skriver alt det ud den skal
Avatar billede cotus Nybegynder
26. april 2002 - 11:06 #7
Error Type:
Microsoft OLE DB Provider for ODBC Drivers (0x80040E14)
[Microsoft][ODBC Microsoft Access Driver] The SELECT statement includes a reserved word or an argument name that is misspelled or missing, or the punctuation is incorrect.
/25765619/nyheder/nyheder.asp, line 57
Avatar billede cotus Nybegynder
26. april 2002 - 11:07 #8
56' strSQL = "Select from nyheder"
57' Set rs = Conn.Execute(strSQL)
58' Do
Avatar billede -mundi- Nybegynder
26. april 2002 - 11:09 #9
Select * from nyheder
Avatar billede cotus Nybegynder
26. april 2002 - 11:45 #10
Hvad mener det her?

Error Type:
Microsoft OLE DB Provider for ODBC Drivers (0x80040E07)
[Microsoft][ODBC Microsoft Access Driver] Data type mismatch in criteria expression.
/25765619/nyheder/view.asp, line 7

7' set rs = Conn.execute("SELECT * FROM nyheder WHERE ID='" & ID &"'")
Avatar billede -mundi- Nybegynder
26. april 2002 - 12:10 #11
set rs = Conn.execute("SELECT * FROM nyheder WHERE ID=" & ID)
Avatar billede cotus Nybegynder
26. april 2002 - 12:12 #12
set rs = Conn.execute("SELECT * FROM nyheder WHERE ID=" & ID)
Avatar billede cotus Nybegynder
26. april 2002 - 12:12 #13
Microsoft OLE DB Provider for ODBC Drivers (0x80040E14)
[Microsoft][ODBC Microsoft Access Driver] Syntax error (missing operator) in query expression 'ID='.
/25765619/nyheder/view.asp, line 7
Avatar billede -mundi- Nybegynder
26. april 2002 - 12:13 #14
Så er din variabel ID tom
Avatar billede cotus Nybegynder
26. april 2002 - 12:20 #15
<%
ID = Request.QueryString("ID")

Set conn = Server.CreateObject("ADODB.Connection")
Conn.Open "DRIVER={Microsoft Access Driver (*.mdb)};DBQ="&Server.MapPath("nyheder.mdb")

set rs = Conn.execute("SELECT * FROM nyheder WHERE ID=" & ID)

Overskrift = rs("OVERSKRIFT")
Forfatter = rs("FORFATTER")
Dato = rs ("DATO")
Besked = rs ("BESKED")
%>

<%=Overskrift%><br>
<%=Forfatter%><br>
<%=Dato%><br>
<%=Besked%><br>

<%
rs.Close
set rs = nothing

Conn.Close
Set Conn = Nothing
%>
Avatar billede -mundi- Nybegynder
26. april 2002 - 12:25 #16
prøv det her bare for test

<%
ID = Request.QueryString("ID")
response.write "min id er="&ID
response.end
Set conn = Server.CreateObject("ADODB.Connection")
Conn.Open "DRIVER={Microsoft Access Driver (*.mdb)};DBQ="&Server.MapPath("nyheder.mdb")

set rs = Conn.execute("SELECT * FROM nyheder WHERE ID=" & ID)

Overskrift = rs("OVERSKRIFT")
Forfatter = rs("FORFATTER")
Dato = rs ("DATO")
Besked = rs ("BESKED")
%>

<%=Overskrift%><br>
<%=Forfatter%><br>
<%=Dato%><br>
<%=Besked%><br>

<%
rs.Close
set rs = nothing

Conn.Close
Set Conn = Nothing
%>
Avatar billede cotus Nybegynder
26. april 2002 - 12:30 #17
Så skriver den:

min id er=

se selv på http://www.virtuaserver.dyndns.dk/25765619/nyheder/nyheder.asp

Du kan evt. downloade alle filerne og kigge på dem på http://www.virtuaserver.dyndns.dk/25765619/nyheder.zip
Avatar billede -mundi- Nybegynder
26. april 2002 - 12:39 #18
<%
ID = Request.QueryString("nyhed")

Set conn = Server.CreateObject("ADODB.Connection")
Conn.Open "DRIVER={Microsoft Access Driver (*.mdb)};DBQ="&Server.MapPath("nyheder.mdb")

set rs = Conn.execute("SELECT * FROM nyheder WHERE ID=" & ID)

Overskrift = rs("OVERSKRIFT")
Forfatter = rs("FORFATTER")
Dato = rs ("DATO")
Besked = rs ("BESKED")
%>

<%=Overskrift%><br>
<%=Forfatter%><br>
<%=Dato%><br>
<%=Besked%><br>

<%
rs.Close
set rs = nothing

Conn.Close
Set Conn = Nothing
%>
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