---
title: "Option Explicit"
type: "forum-thread"
url: "https://www.webforum.nu/amne/asp/109134-option-explicit/page2"
topic: "ASP"
topic_url: "https://www.webforum.nu/amne/asp"
author: "ade"
published: "2004-08-13T14:57:48.000Z"
updated: "2004-08-13T21:55:52.000Z"
replies: 52
views: 1739
page: 2
pages: 3
language: "sv-SE"
site: "webForum — webforum.nu"
rights: "Upphovsrätten till varje inlägg tillhör dess författare."
attribution: "Citera som: webForum, https://www.webforum.nu/amne/asp/109134-option-explicit"
---

# Option Explicit

_Sida 2 av 3._

## #21 — magnusfernstrom, 2004-08-13T15:27Z

```
<%
Set Conn = Server.CreateObject("ADODB.Connection")
Conn.Open = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.MapPath("forum.mdb")
SQL = "SELECT threadID, threadDateTime, threadHeadline, threadPoster FROM tblForum WHERE threadParent=0 ORDER BY threadDateTime DESC"

Set rs = Conn.Execute(SQL)
%>
<html>
 <body>
  <table border="0">
   <tr>
    <td colspan="3">
     <a href="form.asp">Skriv ett nytt inlägg</a>
    </td>
   </tr>    <tr>
    <td>
     <b>Rubrik</b>
    </td>
    <td>
     <b>Datum</b>
    </td>
    <td>
     <b>Vem?</b>
    </td>
   </tr>
   <%
if rs.EOF or rs.BOF then
   %>
   <tr>
    <td colspan="3">
     <b>Det finns inga inlägg i forumet</b>
    </td>
   </tr>
   <%
else
  do while not rs.EOF
   %>
   <tr>
    <td>
     <b><a href="readThread.asp?threadID=<%=rs("ID")%>"><%=rs("Fält7")%></a></b>
    </td>
    <td>
     <b>Postat av: <%=rs("Fält4")%></b>
    </td>
    <td>
     <b>Inlägg: <%=rs("Fält6")%></b>
    </td>
   </tr>
   <%
   rs.MoveNext
  loop
end if
  %>
  </table>
 </body>
</html>
<%
Conn.Close
Set Conn = nothing
%> 
</body>
</html>
```

Har inte testat den, så jag vet inte om ä:na kan skapa problem. Men jag skulle döpa om fälten du har till lite logiska namn, och inte till Fält1, fält2, fält3 osv. Även om det inte är du som döpt dem. ;)

Permalänk: https://www.webforum.nu/p/1409844

## #22 — ade, 2004-08-13T15:30Z

ska jag göra om databasen? jag har skrivit thredid och de under fält1 ska jag skriva över fält1 istället?

Permalänk: https://www.webforum.nu/p/1409846

## #23 — ade, 2004-08-13T15:32Z

fick detta felmedelande:
Microsoft JET Database Engine error '80040e10' 

No value given for one or more required parameters. 

/forum1/Default.asp, line 6 

rad 6: 

```
Set rs = Conn.Execute(SQL)
```

Permalänk: https://www.webforum.nu/p/1409847

## #24 — magnusfernstrom, 2004-08-13T15:33Z

Det är under Design du skall döpa dem till namnen du vill ha.

När du, efter att ha döpt dem till "fält1" osv, skriver in något skapar du en post.

Permalänk: https://www.webforum.nu/p/1409848

## #25 — ade, 2004-08-13T15:35Z

jag ska göra om db:n nu..

Permalänk: https://www.webforum.nu/p/1409850

## #26 — ade, 2004-08-13T15:43Z

1000 TACK till magnus.. felet var följande:

option explicit skulle bort och jag hade gjort fel med databasen...

tack ännu en gång..

Permalänk: https://www.webforum.nu/p/1409856

## #27 — magnusfernstrom, 2004-08-13T15:45Z

Jag tog mig friheten att göra om lite. Delvis döpa om fälten i databasen och anpassa koden. Resultat: <http://midgetzinc.net.loopiadns.com/test/test.asp>

Databasen finns här:

<http://midgetzinc.net.loopiadns.com/test/forum.mdb>

**Redigering:** Det hade du redan fixat ser jag. ;)

Permalänk: https://www.webforum.nu/p/1409857

## #28 — ade, 2004-08-13T15:45Z

okej.. mitt funkar lite grann

kan inte skapa en tråd

Permalänk: https://www.webforum.nu/p/1409858

## #29 — ade, 2004-08-13T15:46Z

kan du skcika den postform.asp du gjorde? om du har gjort en..

Permalänk: https://www.webforum.nu/p/1409859

## #30 — magnusfernstrom, 2004-08-13T15:47Z

Nja. Min kod är ju bara den som skriver ut trådarna.

Posta koden till sidan som skapar ny tråd så får vi väl kolla på den också. ;)

**Förövrigt** kan du redigera dina inlägg när du kommer på något, istället för att skriva ett nytt. :)

Permalänk: https://www.webforum.nu/p/1409860

## #31 — ade, 2004-08-13T15:48Z

```
<% strDummy = "Ingen angiven" 'Text som vi stoppar in om användaren inte har fyllt i ett fält.

lngThreadParent = Request.Form("threadParent")
'Kontrollera om det är ett svar
if lngThreadParent = "" then lngThreadParent = 0
'Slut på kontroll

'Lägg in formulär-fälten i variablar och kontrollera efter ogiltiga tecken
strThreadPoster = Replace(Request.Form("threadPoster"), "'", "''")
strThreadPosterEmail = Replace(Request.Form("threadPosterEmail"), "'", "''")
strThreadHeadline = Replace(Request.Form("threadHeadline"), "'", "''")
strThreadText = Replace(Request.Form("threadText"), "'", "''")
dtmThreatDateTime = Now()
'Slut på kontroll

'Kontrollera om formulär-fälten var tomma.
if strThreadName = "" then strThreadName = strDummy
if strThreadPosterEmail = "" then strThreadPosterEmail = strDummy
if strThreadHeadline = "" then strThreadHeadline = strDummy
if strThreadText = "" then strThreadText = strDummy
'Slut på kontoll

'Skapa databas-anslutningen
Set objConn = Server.CreateObject("ADODB.Connection")
'forum.mdb skall bytas ut mot vad din databas-fil heter.
strConn = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.MapPath("forum.mdb")
objConn.Open strConn

'Skapa SQL-strängen för ett nytt inlägg.
strSQL = "INSERT INTO tblForum (threadDateTime, threadPoster, threadPosterEmail, threadHeadline, threadText, threadParent) VALUES(" & dtmThreatDateTime & ", '" & strThreadPoster & "', '" & strThreadPosterEmail & "', '" & strThreadHeadline & "', '" & strThreadText & "', " & lngThreadParent & ")"
'Kör SQL-strängen mot databasen
objConn.Execute(strSQL)

'Stäng databasen
objConn.Close
Set objConn = nothing

'Gå till tråd-listningen
Response.Redirect("default.asp")
%>
```

Permalänk: https://www.webforum.nu/p/1409861

## #32 — Rikard, 2004-08-13T15:50Z

> **ade skrev:**
>
> option explicit skulle bort och jag hade gjort fel med databasen...

Nu har jag bara skumläst tråden, men varför ta bort option explicit? Sätt den rätt istället och dimma objekten precis som föreslaget. Option Explicit ska dock sitta allra först mig veterligen d.v.s:

```
<% Option Explicit %>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>Untitled Document</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>

<body>
<%
Dim objConn 'as object
Dim strConn 'as string
Dim strSQL 'as string
Dim rstForum 'as recordset
```

Permalänk: https://www.webforum.nu/p/1409862

## #33 — magnusfernstrom, 2004-08-13T15:52Z

**Rikard:** Om du skumläst på rätt ställe hade du sett min fråga. ;)

> icaaq: Vad skall det vara bra för egentligen? Att dimma alltså. Har gjort alla möjliga script och aldrig använt mig av det.

Kanske du kan svara på den? :)

**ade** Vad är det som inte fungerar då?

Permalänk: https://www.webforum.nu/p/1409863

## #34 — ade, 2004-08-13T15:58Z

<http://www.bloody-mary.dk/forum1/>

Permalänk: https://www.webforum.nu/p/1409868

## #35 — magnusfernstrom, 2004-08-13T16:00Z

Det verkar som om du missat enkelfnuttar.

Posta koden för sidan som skickar texten till databasen.

Permalänk: https://www.webforum.nu/p/1409870

## #36 — ade, 2004-08-13T16:03Z

du får hela 

```
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>Untitled Document</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>

<body>
<%
strDummy = "Ingen angiven" 'Text som vi stoppar in om användaren inte har fyllt i ett fält.

lngThreadParent = Request.Form("threadParent")
'Kontrollera om det är ett svar
if lngThreadParent = "" then lngThreadParent = 0
'Slut på kontroll

'Lägg in formulär-fälten i variablar och kontrollera efter ogiltiga tecken
strThreadPoster = Replace(Request.Form("threadPoster"), "'", "''")
strThreadPosterEmail = Replace(Request.Form("threadPosterEmail"), "'", "''")
strThreadHeadline = Replace(Request.Form("threadHeadline"), "'", "''")
strThreadText = Replace(Request.Form("threadText"), "'", "''")
dtmThreatDateTime = Now()
'Slut på kontroll

'Kontrollera om formulär-fälten var tomma.
if strThreadName = "" then strThreadName = strDummy
if strThreadPosterEmail = "" then strThreadPosterEmail = strDummy
if strThreadHeadline = "" then strThreadHeadline = strDummy
if strThreadText = "" then strThreadText = strDummy
'Slut på kontoll

'Skapa databas-anslutningen
Set objConn = Server.CreateObject("ADODB.Connection")
'forum.mdb skall bytas ut mot vad din databas-fil heter.
strConn = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.MapPath("forum.mdb")
objConn.Open strConn

'Skapa SQL-strängen för ett nytt inlägg.
strSQL = "INSERT INTO tblForum (threadDateTime, threadPoster, threadPosterEmail, threadHeadline, threadText, threadParent) VALUES(" & dtmThreatDateTime & ", '" & strThreadPoster & "', '" & strThreadPosterEmail & "', '" & strThreadHeadline & "', '" & strThreadText & "', " & lngThreadParent & ")"
'Kör SQL-strängen mot databasen
objConn.Execute(strSQL)

'Stäng databasen
objConn.Close
Set objConn = nothing

'Gå till tråd-listningen
Response.Redirect("default.asp")
%> 
</body>
</html>
```

Permalänk: https://www.webforum.nu/p/1409874

## #37 — solbulle, 2004-08-13T16:07Z

magnusfernstrom: Läste du inte detta?
Skriv nu ingenting du ångrar, hehe. ;)
<http://www.webforum.nu/showthread.php?s=&postid=76616#post76616>

Permalänk: https://www.webforum.nu/p/1409876

## #38 — magnusfernstrom, 2004-08-13T16:09Z

Vad skulle jag ångra?

Jaja, jag läste väl lite snabbt då.  :r

Permalänk: https://www.webforum.nu/p/1409877

## #39 — magnusfernstrom, 2004-08-13T16:11Z

Byt:

```
strSQL = "INSERT INTO tblForum (threadDateTime, threadPoster, threadPosterEmail, threadHeadline, threadText, threadParent) VALUES(" & dtmThreatDateTime & ", '" & strThreadPoster & "', '" & strThreadPosterEmail & "', '" & strThreadHeadline & "', '" & strThreadText & "', " & lngThreadParent & ")"
```

mot:

```
strSQL = "INSERT INTO tblForum (threadDateTime, threadPoster, threadPosterEmail, threadHeadline, threadText, threadParent) VALUES('" & dtmThreatDateTime & "', '" & strThreadPoster & "', '" & strThreadPosterEmail & "', '" & strThreadHeadline & "', '" & strThreadText & "', " & lngThreadParent & ")"
```

**'" & dtmThreatDateTime & "'** \- Enkelfnuttar alltså :)

Permalänk: https://www.webforum.nu/p/1409878

## #40 — solbulle, 2004-08-13T16:11Z

Detta:

> **magnusfernstrom skrev:**
>
> icaaq: Vad skall det vara bra för egentligen? Att dimma alltså. Har gjort alla möjliga script och aldrig använt mig av det.

Inget illa ment  dock.

Åter till tråden,

Om man ser hur det ser ut idb:n nu så stämmer nog det där bättre, dock bör egentligen datumfältet både i db och kod hanteras som just ett datumfält.

Permalänk: https://www.webforum.nu/p/1409879

---

Tråden på webben: https://www.webforum.nu/amne/asp/109134-option-explicit/page2  
Föregående sida: https://www.webforum.nu/amne/asp/109134-option-explicit.md  
Nästa sida: https://www.webforum.nu/amne/asp/109134-option-explicit/page3.md
