---
title: "Om databasen är tom, skriv ut det i text."
type: "forum-thread"
url: "https://www.webforum.nu/amne/asp/120545-om-databasen-är-tom-skriv-ut-det-i-text"
topic: "ASP"
topic_url: "https://www.webforum.nu/amne/asp"
author: "hallmert"
published: "2005-01-19T18:17:08.000Z"
updated: "2005-01-19T19:43:49.000Z"
replies: 15
views: 452
page: 1
pages: 1
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/120545-om-databasen-är-tom-skriv-ut-det-i-text"
---

# Om databasen är tom, skriv ut det i text.

## #1 — hallmert, 2005-01-19T18:17Z

Hej!

Här kommer en lång kod för att skriva ut gästboksinlägg med paging. Vart någonstanns och VAD ska jag skriva för att få följande meddelande: "Du har inga gästboksinlägg". Tycker det kunde vara grant med en sådan funktion, annars får jag bara en ASP-felsida när man tar bort alla inlägg.

```
<%
	Set MinCon = Server.CreateObject("ADODB.Connection")
	Set rs = Server.CreateObject("ADODB.Recordset")
	MinCon.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.MapPath("db/fanclub.mdb")
	
	Const perSida = 10
	Sidan = Request.QueryString("sida")
	If Sidan = "" then 
	sida = 1 
	Else 
	sida = Sidan 
	
	End If 
	
	MinCon.execute("update gb set readed=1 where tillid = "&Session("id") ) 
	
	SQL = "Select * From gb Where tillID = "&Request.QueryString("tillid") &" Order By ID DESC"
	
	With rs
	  .CursorLocation = 3
	  .CacheSize = perSida 
	End With
	
	
	
	rs.Open SQL, MinCon
	
	With rs
	  .MoveFirst 
	  .PageSize = perSida 
	  .AbsolutePage = sida
	End With
	
	Sidor =  rs.PageCount
	
	Count = 0 
	
	color = "#9A8C81"
	Do While Not rs.EOF And Count < rs.PageSize 
	If color = "#786B61" Then
	color = "#9A8C81"
	Else
	color = "#786B61"
	End If	
	
%>
```

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

## #2 — LarsG, 2005-01-19T18:21Z

```
rs.Open SQL, MinCon
if  rs.eof then
   response.write "Du har inga gästboksinlägg <br>" 
else
  'utskrifter enligt nuvarande
end if
```

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

## #3 — hallmert, 2005-01-19T18:25Z

```
	<%
	Set MinCon = Server.CreateObject("ADODB.Connection")
	Set rs = Server.CreateObject("ADODB.Recordset")
	MinCon.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.MapPath("db/fanclub.mdb")
	
	Const perSida = 10
	Sidan = Request.QueryString("sida")
	If Sidan = "" then 
	sida = 1 
	Else 
	sida = Sidan 
	
	End If 
	
	MinCon.execute("update gb set readed=1 where tillid = "&Session("id") ) 
	
	SQL = "Select * From gb Where tillID = "&Request.QueryString("tillid") &" Order By ID DESC"
	
	With rs
	  .CursorLocation = 3
	  .CacheSize = perSida 
	End With
	
	rs.Open SQL, MinCon
	if rs.eof then
	   response.write "Du har inga gästboksinlägg <br>" 
	else
		
	With rs
	  .MoveFirst 
	  .PageSize = perSida 
	  .AbsolutePage = sida
	End With
	
	Sidor =  rs.PageCount
	
	Count = 0 
	
	color = "#9A8C81"
	Do While Not rs.EOF And Count < rs.PageSize 
	If color = "#786B61" Then
	color = "#9A8C81"
	Else
	color = "#786B61"
	End If	
	
	end if
	
	
%>
```

Det här fungerade inget bra!

Fick följande fel:

Error Type:
Microsoft VBScript compilation (0x800A0400)
Expected statement
/jobb/theevents.net/read_gb.asp, line 67

Line 67:

```
	end if
```

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

## #4 — LarsG, 2005-01-19T18:29Z

Du har inte avslutat din do while korrekt. Det saknas loop

```
do while ...

loop
```

Om du indenterar din kod så ser du sådana saker mycket enklare.

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

## #5 — hallmert, 2005-01-19T18:32Z

> **LarsG skrev:**
>
> Du har inte avslutat din do while korrekt. Det saknas loop
> 
>
>
> ```
> do while ...
> 
> loop
> ```
>
> 
> 
> Om du indenterar din kod så ser du sådana saker mycket enklare.

Förklara lite bättre hur jag ska göra, jag är itne så duktig på det här :/

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

## #6 — @nders, 2005-01-19T18:39Z

Du saknar ett "loop" att höra ihop med din "do while". När du indenterar din kod ser du sådana fel lättare. Indenteringsexempel:

```
If detena = detandra then
     do while stuff = true
          If detandra = dettredje then
               Response.write "weeee"
          End if
     loop
Else
     Dosomeotherstuff
End if
```

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

## #7 — hallmert, 2005-01-19T18:41Z

> **@nders skrev:**
>
> Du saknar ett "loop" att höra ihop med din "do while". När du indenterar din kod ser du sådana fel lättare. Indenteringsexempel:
>
> ```
> If detena = detandra then
>      do while stuff = true
>           If detandra = dettredje then
>                Response.write "weeee"
>           End if
>      loop
> Else
>      Dosomeotherstuff
> End if
> ```

Vart jag än sätter loopen så fungerar det inte ?!
Vart skall den vara egentligen?

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

## #8 — @nders, 2005-01-19T18:46Z

Tja, vad vill du ska utföras i loopen?

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

## #9 — LarsG, 2005-01-19T18:46Z

Den kod du har postat är inte fullständig. Inuti din do while  behövs det mer kod för att göra utskrifter mm. Strukturellt bör det se ut så här. 

```
if rs.eof then
  response.write "Du har inga gästboksinlägg <br>" 
else
  With rs
   .PageSize = perSida 
   .AbsolutePage = sida
  End With
	
  Sidor =  rs.PageCount
	
  Count = 0 
  color = "#9A8C81"
  Do While Not rs.EOF And Count < rs.PageSize 
     If color = "#786B61" Then
	color = "#9A8C81"
     Else
        color = "#786B61"
     End If
'här saknas kod för att göra utskrifter, 
'räkna upp count och gå till nästa post i rs
  loop
end if
```

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

## #10 — hallmert, 2005-01-19T18:53Z

Sorry, det är jag som har varit otydlig, jag har kod för utskrift och paging längre ner, har bara inte haft med det, sorry!

Nu får jag fel på detta iaf, vad skall göras för att få det att fungera?

Fel: Line 77
...som är:

```
<%
	Count = Count + 1
	rs.MoveNext
	Loop                        <-----
```

```
<table width="415" cellpadding="2" cellspacing="0">
	<%
	Set MinCon = Server.CreateObject("ADODB.Connection")
	Set rs = Server.CreateObject("ADODB.Recordset")
	MinCon.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.MapPath("db/fanclub.mdb")
	
	Const perSida = 10
	Sidan = Request.QueryString("sida")
	If Sidan = "" then 
	sida = 1 
	Else 
	sida = Sidan 
	
	End If 
	
	MinCon.execute("update gb set readed=1 where tillid = "&Session("id") ) 
	
	SQL = "Select * From gb Where tillID = "&Request.QueryString("tillid") &" Order By ID DESC"
	
	With rs
	  .CursorLocation = 3
	  .CacheSize = perSida 
	End With
	
if rs.eof then
  response.write "Du har inga gästboksinlägg <br>" 
else
  With rs
   .PageSize = perSida 
   .AbsolutePage = sida
  End With
	
  Sidor =  rs.PageCount
	
  Count = 0 
  color = "#9A8C81"
  Do While Not rs.EOF And Count < rs.PageSize 
     If color = "#786B61" Then
	color = "#9A8C81"
     Else
        color = "#786B61"
     End If
  Loop
End If
%>
<tr>
<td width="215" valign="top" bgcolor="<%=color%>"><a href="default.asp?visaSida=whois&checkid=<%=rs("id")%>"><%=rs("namn")%></a>, 
<%= replace(formatdatetime(rs("datum"),vblongdate),"den ","") & " " & formatdatetime(rs("datum"),vbshorttime) %></td>
</tr>
<tr>
<td width="415" bgcolor="<%=color%>"><%=Replace(rs("text"),vbcrlf,"<br>")%><p>
<a href="default.asp?visaSida=delete_gb&delID=<%=rs("id")%>">Ta bort!!!!</a>
</td>
</tr>
<%
	Count = Count + 1
	rs.MoveNext
	Loop
	
	rs.Close
	MinCon.Close
	%>
	</table>
	<%If Sidor = 1 Then%>
	<%Else%>
	
	<%End If%>
	
	<div align="center">
	
	<%If Sidor <> 1 Then%><b>Fler inlägg:</b>
	<%For Sid = 1 To Sidor%>
	<%If (Int(Sid)) = (Int(sida)) Then%><%=Sid%><%Else%> <a href="default.asp?visaSida=read_gb&tillID=<%=Session("id")%>&sida=<%=Sid%>"><%=Sid%></a> <%End If%>
	<%Next%> 
	<%End If%></div>
```

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

## #11 — LarsG, 2005-01-19T19:02Z

I stället för detta 

```
  Loop
End If
%>
<tr>
<td width="215" valign="top" bgcolor="<%=color%>"><a href="default.asp?visaSida=whois&checkid=<%=rs("id")%>"><%=rs("namn")%></a>, 
<%= replace(formatdatetime(rs("datum"),vblongdate),"den ","") & " " & formatdatetime(rs("datum"),vbshorttime) %></td>
</tr>
<tr>
<td width="415" bgcolor="<%=color%>"><%=Replace(rs("text"),vbcrlf,"<br>")%><p>
<a href="default.asp?visaSida=delete_gb&delID=<%=rs("id")%>">Ta bort!!!!</a>
</td>
</tr>
<%
	Count = Count + 1
	rs.MoveNext
	Loop
```

skriv detta

```
%>
<tr>
<td width="215" valign="top" bgcolor="<%=color%>"><a href="default.asp?visaSida=whois&checkid=<%=rs("id")%>"><%=rs("namn")%></a>, 
<%= replace(formatdatetime(rs("datum"),vblongdate),"den ","") & " " & formatdatetime(rs("datum"),vbshorttime) %></td>
</tr>
<tr>
<td width="415" bgcolor="<%=color%>"><%=Replace(rs("text"),vbcrlf,"<br>")%><p>
<a href="default.asp?visaSida=delete_gb&delID=<%=rs("id")%>">Ta bort!!!!</a>
</td>
</tr>
<%
	Count = Count + 1
	rs.MoveNext
	Loop
end if
```

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

## #12 — @nders, 2005-01-19T19:15Z

... och öva på indenteringen. :)

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

## #13 — hallmert, 2005-01-19T19:35Z

> **@nders skrev:**
>
> ... och öva på indenteringen. :)

```
if rs.eof then
response.write "Du har inga gästboksinlägg <br>" 
else
```

Den översta raden ger mig ett fel efter att jag gjort som du sa! :P

Error Type:
ADODB.Recordset (0x800A0E78)
Operation is not allowed when the object is closed.
/jobb/theevents.net/read_gb.asp, line 44

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

## #14 — @nders, 2005-01-19T19:38Z

Jag kan inte se att du öppnar ditt recordset någonstans (vilket också felmeddelandet ger en hint om).

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

## #15 — hallmert, 2005-01-19T19:42Z

> **@nders skrev:**
>
> Jag kan inte se att du öppnar ditt recordset någonstans (vilket också felmeddelandet ger en hint om).

Hur gör jag de då? Nybörjare som jag är ! :)

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

## #16 — @nders, 2005-01-19T19:43Z

Tja, du gör ju det i din tidigare kod i denna tråd, men du har tydligen tagit bort den raden.

Edit: jag undviker med flit att svara exakt på dina frågor, bara så du vet. Man vill ju att du ska lära dig något också, genom att hitta felen själv. ;)

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

---

Tråden på webben: https://www.webforum.nu/amne/asp/120545-om-databasen-är-tom-skriv-ut-det-i-text
