Jag vet inte varför det blir fel men du kanske kan testa att inte använda set vid dessa tilldelningar.
ID = RS("Id")
Rubrik = RS("Rubrik")
Brodtext = RS("Brodtext")
9 svar · 290 visningar · startad av timedia
Funktionen skriver ut rubrik, sen får jag följande fel:
error '80020009'
Exception occurred.
/enviro/Default.asp, line 123
Linje 123 är sista response.write i denna funktion (den med left(Brodtext, 250)):
function toartikler()
SQLlist = "SELECT TOP 2 Id, Rubrik, Brodtext FROM Nyheter ORDER by Id Desc"
Set RS = Connect.Execute(SQLlist)
RS.Cachesize = 2
set ID = RS("Id")
set Rubrik = RS("Rubrik")
set Brodtext = RS("Brodtext")
if not (RS.eof and RS.bof) then
DO UNTIL RS.EOF
response.write left(Rubrik, 50)
response.write "</B><BR>"
response.write left(Brodtext, 250) & "... <a href=" & chr(34) & "art.asp?Id=" & Id & chr(34) &">Les mere</a></div>"
RS.MoveNext
Loop
else
response.write "<br><b>Ingen artikler i databasen???</b><br>"
end if
RS.Close
End Function
Vad gör jag fel?
Jag vet inte varför det blir fel men du kanske kan testa att inte använda set vid dessa tilldelningar.
ID = RS("Id")
Rubrik = RS("Rubrik")
Brodtext = RS("Brodtext")
Följde Lars förslag och då hände detta:
Microsoft OLE DB Provider for ODBC Drivers error '80040e21'
Multiple-step OLE DB operation generated errors. Check each OLE DB status value, if available. No work was done.
/enviro/Default.asp, line 115
Jaha, det där brukar bero på att man långa (>8000 tecken) fält. Det kan vara typen text i SQL server eller PM/Memo i Access.
Om man har det så måste dessa anges sist i select-satsen. Om det finns flera så måste de anges i samma odning som de har definierats i tabellen.
(I de flesta fall är det onödigt att använda text i SQL server, det går bättre med varchar istället. En kolumn av typen varchar kan vara maximalt 8000 tecken lång.)
Hmmm... förstår inte riktigt. Det är ju en Access2000 DB.
Id = räknare
Rubrik = text max. 255 tecken
Brodtext = PM (inte obligatoriskt)
Om man har det så måste dessa anges sist i select-satsen. Om det finns flera så måste de anges i samma odning som de har definierats i tabellen.
???? è de värmen som har slagit ut mig???
Om man har det så måste dessa anges sist i select-satsen. Om det finns flera så måste de anges i samma odning som de har definierats i tabellen.
Brodtext är PM och sist i select-satsen. Förövrigt ligger dom i den ordningen i tabellen också.
Nej, jag förstår inte heller riktigt.
En sak är att tilldelningarna borde ligga inom loopen.
function toartikler()
SQLlist = "SELECT TOP 2 Id, Rubrik, Brodtext FROM Nyheter ORDER by Id Desc"
Set RS = Connect.Execute(SQLlist)
RS.Cachesize = 2
if not RS.eof then
DO UNTIL RS.EOF
ID = RS("Id")
Rubrik = RS("Rubrik")
Brodtext = RS("Brodtext")
response.write left(Rubrik, 50)
response.write "</B><BR>"
response.write left(Brodtext, 250) & "... <a href=" & chr(34) & "art.asp?Id=" & Id & chr(34) &">Les mere</a></div>"
RS.MoveNext
Loop
else
response.write "<br><b>Ingen artikler i databasen???</b><br>"
end if
RS.Close
End Function
Det kanske är tomt i tabellen?
Ovanstående funka inte. Har jag gjord nåt fel med tabellen?
http://www.tottointeraktiv.com/enviro.mdb
Någon som hittar fel i tabellen (eller ännu bättre vet varför jag får dissa errors?)
Mycket tacksam för svar!