Avatar billede bruhnsweb Nybegynder
08. juli 2005 - 23:20 Der er 21 kommentarer og
1 løsning

error '80020009'

Hej Eksperter

Jeg får denne fejl når jeg prøver at køre nedenstående kode:
--------------------------------
error '80020009'
sidenavn.asp, line 420
--------------------------------


Kode:
------------------------------------------------------------------
<%
Set rs_get_newscat = Server.CreateObject("ADODB.RecordSet")
rs_get_newscat.open "Select * From [News_Category] where Active = 1 AND Site_Id = " & Site_Id , Conn
Do while not rs_get_newscat.EOF
Set rs_tjeck_newscat = Server.CreateObject("ADODB.RecordSet")
    rs_tjeck_newscat.open "Select * From [News_Cat_Config] where News_Config_Id = " & rs_news_config("Id") & " AND News_Cat_Id = " & rs_get_newscat("Id") , Conn
Do while not rs_tjeck_newscat.EOF
%>
<input name="<%=rs_get_newscat("Id")%>" type="checkbox" value="ok" <% If not rs_tjeck_newscat.EOF Then response.write "checked"%>><%=rs_get_newscat("Cat_Name")%><br>
<%
rs_tjeck_newscat.MoveNext
Loop
rs_tjeck_newscat.Close
rs_get_newscat.MoveNext
Loop
rs_get_newscat.Close
%>
------------------------------------------------------------------


Any ideas???
Avatar billede softspot Forsker
08. juli 2005 - 23:30 #1
Hmmm... det ligner umiddelbart noget med et indeks som ikke eksisterer, f.eks. et felt i dataabasen som ikke er stavet korrekt eller "støder sammen" med reserverede ord i databasesammenhænge...
Avatar billede softspot Forsker
08. juli 2005 - 23:34 #2
Kan man gå ud fra at linie 420 er en af de open-kommandoer på recordsets...?
Avatar billede softspot Forsker
08. juli 2005 - 23:35 #3
Jeg kan ikke lige finde definitionen af variablen: rs_news_config...

Er det mig der er blind eller...?
Avatar billede bruhnsweb Nybegynder
08. juli 2005 - 23:35 #4
Linie 420:
rs_tjeck_newscat.open "Select * From [News_Cat_Config] where News_Config_Id = " & rs_news_config("Id") & " AND News_Cat_Id = " & rs_get_newscat("Id") , Conn
Avatar billede softspot Forsker
08. juli 2005 - 23:37 #5
Kan det så den variabel der mangler at blive defineret... eller er den defineret et andet sted?
Avatar billede bruhnsweb Nybegynder
08. juli 2005 - 23:37 #6
den kommer tidligere i dokumentet
Avatar billede bruhnsweb Nybegynder
08. juli 2005 - 23:38 #7
Den undersøger en tom tabel lige nu, men det burde jeg have taget højde for med det loop jeg laver right??
Avatar billede softspot Forsker
08. juli 2005 - 23:40 #8
Prøv evt. at udskrive indholdet af de to id'er (altså noget debugkode :)), for at se om de rent faktisk indeholder noget...
Avatar billede softspot Forsker
08. juli 2005 - 23:41 #9
Ja, for så vil jeg antage at den slet ikke kommer ind i loopet.

Kan dine id'er være null/nothing eller tomme?
Avatar billede bruhnsweb Nybegynder
08. juli 2005 - 23:41 #10
De indeholder intet lige nu - indholdet skulle komme fra en tabel, men tabellen er tom lige nu.. Men det burde stadig ikke melde fejl
Avatar billede softspot Forsker
08. juli 2005 - 23:47 #11
Det jeg er lidt mistænksom overfor er hvorvidt du kan lave forespørgsler med tomme talværdier - det tror jeg ikke du må... det er derfor jeg kredser lidt omkring de der id'er...
Avatar billede bruhnsweb Nybegynder
08. juli 2005 - 23:49 #12
ok - men hvordan skal jeg så undersøge om der er noget i tabellen??

Jeg angiver i en tabel om en bestemt kategori skal vises. Hvis den fremkommer i tabellen skal checkboxen afkrydses. (min kode oversat til dansk)

Hvis der findes en anden måde lytter jeg gerne :o)
Avatar billede softspot Forsker
08. juli 2005 - 23:54 #13
Hvis jeg fyrer op under access og prøver at udføre en simpel select a la denne:

SELECT * FROM tabel WHERE id=

så får jeg en fejl.

Nu er jeg ikke helt afklaret med hvilken database du bruger, men hvis det er Access, så burde den jo melde denne fejl, hvis forspørgslen indeholder en tom betingelse for en talkolonne...

News_Category må jo have noget indhold siden du kan komme til rs_tjeck_newscat.open. Kan du ikke prøve at vise indeholdet af News_Category (om ikke andet i udpluk)?
Avatar billede bruhnsweb Nybegynder
08. juli 2005 - 23:58 #14
Databasen er en MSSQL

[News_Category]
Id    Cat_Name
2      Test kategori
3      Test kategori 2
Avatar billede softspot Forsker
09. juli 2005 - 00:04 #15
Prøv lige denne kode:

<%
Set rs_get_newscat = Server.CreateObject("ADODB.RecordSet")
rs_get_newscat.open "Select Id, Cat_Name From [News_Category] where Active = 1 AND Site_Id = " & Site_Id , Conn
Do while not rs_get_newscat.EOF
  Set rs_tjeck_newscat = Server.CreateObject("ADODB.RecordSet")
  rs_tjeck_newscat.open "Select * From [News_Cat_Config] where News_Config_Id = " & rs_news_config("Id") & " AND News_Cat_Id = " & rs_get_newscat("Id") , Conn

  CatId = CLng(rs_get_newscat("Id"))
  CatName = CStr(rs_get_newscat("Cat_Name"))
  Do while not rs_tjeck_newscat.EOF
%>
    <input name="<%=CatId%>" type="checkbox" value="ok" <% If not rs_tjeck_newscat.EOF Then response.write "checked"%>><%=CatName%><br>
<%
    rs_tjeck_newscat.MoveNext
  Loop
  rs_tjeck_newscat.Close
  rs_get_newscat.MoveNext
Loop
rs_get_newscat.Close
%>


Jeg har en mistanke om, at det er et BUG i ADO i samspil med SQL Server, der bevirker at felter skal aflæses i den rækkefølge de bliver trukket ud - ellers "forsvinder" de fra recordset'et...
Avatar billede bruhnsweb Nybegynder
09. juli 2005 - 00:07 #16
error '80020009'

news.asp, line 427

427:
rs_tjeck_newscat.open "Select * From [News_Cat_Config] where News_Config_Id = " & rs_news_config("Id") & " AND News_Cat_Id = " & rs_get_newscat("Id") , Conn
Avatar billede bruhnsweb Nybegynder
09. juli 2005 - 00:09 #17
øv
Avatar billede softspot Forsker
09. juli 2005 - 00:19 #18
I virkeligheden skulle udtrækkene af værdier fra recordset til lokale variable nok have ligget umiddelbart efter den første "Do while...", men jeg er bange for at det ikke gør den store forskel. For en god ordens skyld så har jeg lige rettet koden til igen:

<%
Set rs_get_newscat = Server.CreateObject("ADODB.RecordSet")
rs_get_newscat.open "Select Id, Cat_Name From [News_Category] where Active = 1 AND Site_Id = " & Site_Id , Conn
Do while not rs_get_newscat.EOF
  CatId = CLng(rs_get_newscat("Id"))
  CatName = CStr(rs_get_newscat("Cat_Name"))

  Set rs_tjeck_newscat = Server.CreateObject("ADODB.RecordSet")
  rs_tjeck_newscat.open "Select * From [News_Cat_Config] where News_Config_Id = " & rs_news_config("Id") & " AND News_Cat_Id = " & CatId , Conn

  Do while not rs_tjeck_newscat.EOF
%>
    <input name="<%=CatId%>" type="checkbox" value="ok" <% If not rs_tjeck_newscat.EOF Then response.write "checked"%>><%=CatName%><br>
<%
    rs_tjeck_newscat.MoveNext
  Loop
  rs_tjeck_newscat.Close
  rs_get_newscat.MoveNext
Loop
rs_get_newscat.Close
%>
Avatar billede softspot Forsker
09. juli 2005 - 00:19 #19
Hvis dette ikke fungerer er jeg bange for at jeg ikke lige pt. har nogle foreslag til hvad du kan gøre... desværre :(
Avatar billede bruhnsweb Nybegynder
09. juli 2005 - 00:30 #20
ok - det gør det ikke, så jeg fortsætter og ser om det skal laves på en anden måde :o)

Tak for hjælpen..
Avatar billede softspot Forsker
09. juli 2005 - 00:35 #21
Det var så lidt...
Avatar billede bruhnsweb Nybegynder
09. juli 2005 - 01:30 #22
lukker - fandt en anden løsning...
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