Avatar billede monstermand Nybegynder
02. august 2004 - 09:58 Der er 17 kommentarer og
2 løsninger

Tjekke om der er noget i cellen

<%If rs("believe") <> "" then %>
<tr>
<td width="100%">
            <table width="95%" border="0" cellspacing="0" cellpadding="5">
                <tr>
                    <td width="100%" align="left"><p class="brief_black"><%=Replace(rs("believe"), vbCrLf, "<br>")%></p></td>
                </tr>
            </table>
</td>
</tr>
<%End If%>


I ovenstående kan det være tilfældet at der ikke forefindes nogen data i cellen. Er dette tilfældet, skal tabellen ikke skrives. Jeg får følgende fejl:

error '80020009'
Exception occurred.

/cpp/views/job_brief_single.asp, line 209

(linje 209: <%If rs("believe") <> "" then %>)
Avatar billede axemaster Nybegynder
02. august 2004 - 10:30 #1
Eksisterer det tomme felt i databasen ??
Avatar billede monstermand Nybegynder
02. august 2004 - 10:32 #2
Ja, det eksisterer - men der er ingen data i.
Avatar billede phineas_phreak Nybegynder
02. august 2004 - 15:40 #3
har du prøvet at vende den om ?


Do while not rs.EOF

if rs("believe") = "" then
  ' feltet er tomt
Else
  'udskriv
end if

rs.MoveNext
Loop
Avatar billede axemaster Nybegynder
02. august 2004 - 21:53 #4
Den her stump kode virker hos mig.

<%
if rs("boknr") = "" then
  response.write "ikke tilmeldt"
  else
  response.write "tilmeldt"
end if
%>
Avatar billede phineas_phreak Nybegynder
02. august 2004 - 22:36 #5
hvad er forskellen lige på de 2 eksempler ?
Avatar billede monstermand Nybegynder
03. august 2004 - 08:21 #6
Jeg får fortsat samme fejl - på samme linje. Det ser ud som om det er rs("believe") <> "" der er noget galt med(?)
Avatar billede axemaster Nybegynder
03. august 2004 - 10:38 #7
Hvilken form for felt er believe??
Tal, text, andet ??
Har du evt. stavet feltet rigtigt i tabellen???
Avatar billede monstermand Nybegynder
03. august 2004 - 14:17 #8
ja, det er der er så underligt. Og hvis jeg udkommenterer If rs("believe") <> "" then , så kommer fejlen bare ved næste celle. Det er en MySql database. Typen er longtext. Nulværdi er sat til "nej".
Avatar billede phineas_phreak Nybegynder
03. august 2004 - 14:38 #9
ved ikke om følgende virker, men prøv. det bruges f.eks. i forbindelse med checkboxe der kun ikke kan sende en tom variabel.


if not isEmpty(rs("IVRegional")) then
  ' 'feltet er ikke tomt
Else
  ' feltet er tomt
end if
Avatar billede axemaster Nybegynder
03. august 2004 - 14:49 #10
Hmm, jeg tror muligvis det har noget med din kode at gøre.

Kan du ikke poste noget mere af din kode eller evt. maile den til mig ??
Avatar billede monstermand Nybegynder
03. august 2004 - 15:05 #11
Jeg har nu forsøgt med nedenstående kode. Der kommer ingen fejl ved If NOT isEmpty(rs("believe")) then, dog virker den ikke. Dvs. den går ind i if sætningen (på trods af at cellen er tom), og den fejlen når den når til Replace(rs("believe"), vbCrLf, "<br>")..

<%
If NOT isEmpty(rs("believe")) then
%>
<tr>
<td width="100%"><p class="brief_blue">WHY SHOULD THE CONSUMER BELIEVE THE MESSAGE?</p></td>
</tr>
<tr>
<td width="100%">
            <table width="95%" border="0" cellspacing="0" cellpadding="5">
                <tr>
                    <td width="100%" align="left"><p class="brief_black"><%=Replace(rs("believe"), vbCrLf, "<br>")%></p></td>
                </tr>
            </table>
</td>
</tr>
<tr>
<td width="100%"><hr size="2" color="#000000"></td>
</tr>
<%End If%>
Avatar billede monstermand Nybegynder
03. august 2004 - 15:07 #12
ellers er løsningen måske at jeg laver en select sætning for hver attribut jeg skal have ud. Så vil jeg kunne lave en "IF rs.EOF". Som det er nu laver jeg én SQL sætning. Da der er omkring 30-35 attributter ville det være super hvis jeg kunne få det ordnet så jeg bare bruger én SQL sætning..
Avatar billede monstermand Nybegynder
03. august 2004 - 15:10 #13
Jeg kunne formode det er et database spørgsmål. Jeg har haft data liggende på en database hvor selvsamme kode fungerede perfekt. Så eksporterede jeg til en ny MySQL - og siden har jeg haft problemerne
Avatar billede axemaster Nybegynder
03. august 2004 - 15:24 #14
Er du sikker på feltet er tomt ??? Der ligger måske et mellemrum.

Prøv at ændre line 209 til

(linje 209: <%If rs("believe") <> " " then %>)

og se hvad der så sker...
Avatar billede axemaster Nybegynder
03. august 2004 - 15:25 #15
Har du evt. en URL til din kode, så vi selv kan se fejlen ??
Avatar billede monstermand Nybegynder
03. august 2004 - 16:00 #16
Har lige tjekket at der ikke er mellemrum.. samme fejl :(

Siden ligger ikke ude.. eller med andre ord.. omend jeg ville, har jeg ikke mulighed for at give dig kildekoden. Kan du ikke være mere præcis hvilke dele du ønsker?

SQL = "SELECT * FROM job_brief WHERE ID =  " & request.QueryString("ID")
set rs = conn.execute(SQL)

<% If rs("believe") <> "" then %>
<tr>
<td width="100%"><p class="brief_blue">WHY SHOULD THE CONSUMER BELIEVE THE MESSAGE?</p></td>
</tr>
<tr>
<td width="100%">
            <table width="95%" border="0" cellspacing="0" cellpadding="5">
                <tr>
                    <td width="100%" align="left"><p class="brief_black"><%=Replace(rs("believe"), vbCrLf, "<br>")%></p></td>
                </tr>
            </table>
</td>
</tr>
<tr>
<td width="100%"><hr size="2" color="#000000"></td>
</tr>
<%End If%>
Avatar billede axemaster Nybegynder
03. august 2004 - 16:29 #17
Lige et par spørgsmål mere inden vi griber til drastiske metoder :D

Kommer fejlen ved hver record, hvor feltet believe er tomt ?
Der er ikke sneget sig et ' ind i et af felterne i databasen ??

Her er hvad microsoft skriver om fejlen:

http://search.microsoft.com/search/results.aspx?view=en-us&st=b&na=82&qu=80020009+Exception+Occurred
Avatar billede phineas_phreak Nybegynder
03. august 2004 - 18:06 #18
er meningen ikke at du vil udskrive posterne fra databasen ? jeg kan ikke se noget loop i dit recordset.

prøv lige at indsæt:

SQL = "SELECT * FROM job_brief WHERE ID =  " & request.QueryString("ID")
set rs = conn.execute(SQL)

If rs.BOF or rs.EOF then
  response.write("databasen er tom")
Else
  Do While Not rs.EOF

if not isEmpty(rs("believe")) then
%>
<tr>
<td width="100%"><p class="brief_blue">WHY SHOULD THE CONSUMER BELIEVE THE MESSAGE?</p></td>
</tr>
<tr>
<td width="100%">
            <table width="95%" border="0" cellspacing="0" cellpadding="5">
                <tr>
                    <td width="100%" align="left"><p class="brief_black"><%=Replace(rs("believe"), vbCrLf, "<br>")%></p></td>
                </tr>
            </table>
</td>
</tr>
<tr>
<td width="100%"><hr size="2" color="#000000"></td>
</tr>
<%
End If
rs.MoveNext
LOOP
rs.Close
End if
%>
Avatar billede monstermand Nybegynder
28. juli 2005 - 13:23 #19
lukker..
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