webForumDet fria alternativet

När RecSet är tomt?

ASP

7 svar · 272 visningar · startad av SannyW

Medlem sedan jan. 2003438 inlägg
Frågan#1

När text eller RecSet är tomt, hur gör man för att tillåta att just "text" accepteras att vara tomt. Gör man det med if-satser ?? Visa gärna ett exempel.

Tack på förhand, se nedan.

Mvh Sanny

ADODB.Field (0x80020009)
Antingen är BOF eller EOF satt till True, eller så har aktuell post raderats. Den begärda åtgärden kräver en aktuell post.

Set Connect = Server.CreateObject("ADODB.Connection")
Connect.Open "Driver={Microsoft Access Driver (*.mdb)}; DBQ="& Server.MapPath("../../db/site.mdb")

Set RecSet = Server.CreateObject("ADODB.Recordset")

<%=RecSet("text")%>

Medlem sedan mars 20016 260 inlägg
#2

if not RecSet.eof or RecSet.Bof then response.write RecSet("text")

Medlem sedan jan. 2003438 inlägg
#3

Nja, det vill inte fungera. Skriver nedan hur jag har lagt in det så kanske det är det som är felet.

	Set Connect = Server.CreateObject("ADODB.Connection")
	Connect.Open "Driver={Microsoft Access Driver (*.mdb)}; DBQ="& Server.MapPath("../../db/site.mdb")

	Set RecSet = Server.CreateObject("ADODB.Recordset")

   Visa = "SELECT * FROM skytteligan WHERE lag = '" & sortera & "' ORDER BY namn ASC"
   RecSet.Open Visa, Connect, 3, 3 
%>
<font><b>
<% IF not RecSet.EOF or RecSet.BOF THEN
response.write RecSet("lag")
End IF %>
</b></font>
<p>Klicka bara på Plus och Minus</p>

<table border="0" cellpadding="0" cellspacing="0"> 
<tr>
<td width="150">Namn</td>
<td></td>
<td width="20" align="center"></td>
<td>Antal</td>
<td width="20" align="center"></td>
<td></td>
</tr>

<%Do Until RecSet.EOF %>

<tr>
<td width="150"><% =RecSet("namn") %></td>
<td> </td>
<td width="20" align="center"><a href="update.asp?ID=<% =RecSet("id") %>&kolumn=mal&value=-1"><img src="../bilder/_.gif" border="0"></A></td>
<td align="center"><% =RecSet("mal") %></td>
<td width="20" align="center"><a href="update.asp?ID=<% =RecSet("id") %>&kolumn=mal&value=--1"><img src="../bilder/+.gif" border="0"></A></td>
<td width="30" align="right"><a href="delete.asp?delID=<%=RecSet("ID")%>"><img src="../bilder/trash.gif" border="0" alt="Ta bort"></a></td>
</tr>
<tr>
<td width="1" colspan="6" bgcolor="#E0EBF8"><img src="images/1x1_tom.gif" width="1" height="1" border="0" alt=""></td>
</tr>

<% 
	RecSet.MoveNext
	Loop
	RecSet.Close %>
Medlem sedan feb. 200112 078 inlägg
#4

Du måste innesluta uppradningen av datat i din if-sats, annars gäller den ju inte.

Set Connect = Server.CreateObject("ADODB.Connection")
Connect.Open "Driver={Microsoft Access Driver (*.mdb)}; DBQ="& Server.MapPath("../../db/site.mdb")

Set RecSet = Server.CreateObject("ADODB.Recordset")

Visa = "SELECT * FROM skytteligan WHERE lag = '" & sortera & "' ORDER BY namn ASC"
RecSet.Open Visa, Connect, 3, 3 
%>
<font><b>
<%[b]IF not RecSet.EOF or RecSet.BOF THEN[/b]
response.write "Du kan inte skriva ut något ur RecSet här, för den finns ju inte!"
[b]else[/b] %>
</b></font>
<p>Klicka bara på Plus och Minus</p>

<table border="0" cellpadding="0" cellspacing="0"> 
<tr>
<td width="150">Namn</td>
<td></td>
<td width="20" align="center"></td>
<td>Antal</td>
<td width="20" align="center"></td>
<td></td>
</tr>

<%Do Until RecSet.EOF %>

<tr>
<td width="150"><% =RecSet("namn") %></td>
<td> </td>
<td width="20" align="center"><a href="update.asp?ID=<% =RecSet("id") %>&kolumn=mal&value=-1"><img src="../bilder/_.gif" border="0"></A></td>
<td align="center"><% =RecSet("mal") %></td>
<td width="20" align="center"><a href="update.asp?ID=<% =RecSet("id") %>&kolumn=mal&value=--1"><img src="../bilder/+.gif" border="0"></A></td>
<td width="30" align="right"><a href="delete.asp?delID=<%=RecSet("ID")%>"><img src="../bilder/trash.gif" border="0" alt="Ta bort"></a></td>
</tr>
<tr>
<td width="1" colspan="6" bgcolor="#E0EBF8"><img src="images/1x1_tom.gif" width="1" height="1" border="0" alt=""></td>
</tr>

<% 
[b]end if[/b]
	RecSet.MoveNext
	Loop
	RecSet.Close %>
Medlem sedan nov. 2002105 inlägg
#5

Det skall vara

if not recSet.BOF AND NOT recSet.EOF...

Om recSet är tomt är både BOF och EOF True.

Det tidigare exemplet fungerar också men då måste du sätta att båda villkoren skall vara NOT true.

if not RecSet.eof or NOT RecSet.Bof then response.write RecSet("text")
Medlem sedan mars 20016 260 inlägg
#6

sorry :) liten miss av mig =)

Medlem sedan feb. 200112 078 inlägg
#7

Hrm. Oj, såg ett annat fel också. :r

Såhär! ;)

Set Connect = Server.CreateObject("ADODB.Connection")
Connect.Open "Driver={Microsoft Access Driver (*.mdb)}; DBQ="& Server.MapPath("../../db/site.mdb")

Set RecSet = Server.CreateObject("ADODB.Recordset")

Visa = "SELECT * FROM skytteligan WHERE lag = '" & sortera & "' ORDER BY namn ASC"
RecSet.Open Visa, Connect, 3, 3 
%>
<font><b>
<%
[b]if recset.eof then[/b]
response.write "Inga poster att visa."
[b]else[/b]
%>
</b></font>
<p>Klicka bara på Plus och Minus</p>

<table border="0" cellpadding="0" cellspacing="0"> 
<tr>
<td width="150">Namn</td>
<td></td>
<td width="20" align="center"></td>
<td>Antal</td>
<td width="20" align="center"></td>
<td></td>
</tr>

<%Do Until RecSet.EOF %>

<tr>
<td width="150"><% =RecSet("namn") %></td>
<td> </td>
<td width="20" align="center"><a href="update.asp?ID=<% =RecSet("id") %>&kolumn=mal&value=-1"><img src="../bilder/_.gif" border="0"></A></td>
<td align="center"><% =RecSet("mal") %></td>
<td width="20" align="center"><a href="update.asp?ID=<% =RecSet("id") %>&kolumn=mal&value=--1"><img src="../bilder/+.gif" border="0"></A></td>
<td width="30" align="right"><a href="delete.asp?delID=<%=RecSet("ID")%>"><img src="../bilder/trash.gif" border="0" alt="Ta bort"></a></td>
</tr>
<tr>
<td width="1" colspan="6" bgcolor="#E0EBF8"><img src="images/1x1_tom.gif" width="1" height="1" border="0" alt=""></td>
</tr>

<% 
RecSet.MoveNext
Loop

[b]end if[/b]
RecSet.Close %>
Medlem sedan jan. 2003438 inlägg
#8

Tack grabbar (Jymdis, h0lger och OveRRidE)!

Det hjälpte med att skriva NOT framför båda, nu fattar jag att man måste ange NOT.

Fan, Ni är grymma. Nu fick jag en kanon lösning :)

<% IF NOT RecSet.EOF or NOT RecSet.BOF THEN
response.write RecSet("lag")
Else
response.write "Finns inga poster i databasen!"
End IF %>

Tack än en gång!

274 ms totalt · 4 externa anrop · v20260731065814-full.1dc6f849
137 ms — deklarationer (db)
0 ms — hämta statistik (cache)
134 ms — hämta tråd, inlägg och bilagor (db)
122 ms — ändringar (db)