Avatar billede l_otto Nybegynder
16. december 2003 - 15:38 Der er 16 kommentarer og
1 løsning

hvad betyder denne fejl ?

ADODB.Field error '800a0bcd'

Either BOF or EOF is True, or the current record has been deleted. Requested operation requires a current record.
Avatar billede eagleeye Praktikant
16. december 2003 - 15:42 #1
Det fordi du har et tomt recordset, du kan tjekke inde du bruger dit recordset om det er tomt, eks:

if not rs.EOF then
  'Udskriv
else
  Response.Write "Ingen poster"
end if
Avatar billede l_otto Nybegynder
16. december 2003 - 15:44 #2
jamen hvordan kan jeg have det ? jeg har bare taget min accesse db og lagt den over i Mysql .....
Avatar billede eagleeye Praktikant
16. december 2003 - 15:45 #3
Har du kigget med phpmyadmin eller andet værktøj at der faktisk er noget i kolonnerne?
Avatar billede l_otto Nybegynder
16. december 2003 - 15:46 #4
jep  der ligger masser :-)
Avatar billede eagleeye Praktikant
16. december 2003 - 15:48 #5
Hmm det kan også være en .movenext som ligger uden for et loop.
Avatar billede l_otto Nybegynder
16. december 2003 - 15:50 #6
jeg tror det er her den laver rod:

<%
set rsRandPic = Server.CreateObject("ADODB.Recordset")
rsRandPic.ActiveConnection = MM_connDUpics_STRING
rsRandPic.Source = "SELECT * FROM PICTURES WHERE PIC_APPROVED = 1 AND PIC_ID <> " & iPic
rsRandPic.CursorType = 3
rsRandPic.CursorLocation = 2
rsRandPic.LockType = 1
rsRandPic.Open()
rsRandPic_numRows = 0

Dim rndMax
rndMax = CInt(rsRandPic.RecordCount)
rsRandPic.MoveFirst

Dim rndNumber
Randomize Timer
rndNumber = Int(RND * rndMax)
rsRandPic.Move rndNumber

%>
Avatar billede l_otto Nybegynder
16. december 2003 - 15:50 #7
det virker når det er access db den kører på
Avatar billede eagleeye Praktikant
16. december 2003 - 15:51 #8
Prøv at fjerne:  rsRandPic.MoveFirst
Et recordset vil altid stå på føste record
Avatar billede eagleeye Praktikant
16. december 2003 - 15:52 #9
Det nok for det mySQL så giver RecordCount 0 og ikke det rigtige antal kolonne i databasen .
Avatar billede eagleeye Praktikant
16. december 2003 - 15:53 #10
Der findes en funktion som kan give en tilfældig række følge ud via mySQL.

Når man bruger mySQL kan bare bruge RAND() efter ORDER BY:

<%
SQL = "select * from tabelnavn order by rand() limit 1"
%>
Avatar billede l_otto Nybegynder
16. december 2003 - 15:55 #11
hvordan får jeg flettet den SQL ind i;

<%
set rsRandPic = Server.CreateObject("ADODB.Recordset")
rsRandPic.ActiveConnection = MM_connDUpics_STRING
rsRandPic.Source = "SELECT * FROM PICTURES WHERE PIC_APPROVED = 1 AND PIC_ID <> " & iPic
rsRandPic.CursorType = 3
rsRandPic.CursorLocation = 2
rsRandPic.LockType = 1
rsRandPic.Open()
rsRandPic_numRows = 0

Dim rndMax
rndMax = CInt(rsRandPic.RecordCount)
rsRandPic.MoveFirst

Dim rndNumber
Randomize Timer
rndNumber = Int(RND * rndMax)
rsRandPic.Move rndNumber

%>
Avatar billede eagleeye Praktikant
16. december 2003 - 15:58 #12
Det er rsRandPic.Source og så skal det som regner et random nummer ud væk så prøv dette:

<%
set rsRandPic = Server.CreateObject("ADODB.Recordset")
rsRandPic.ActiveConnection = MM_connDUpics_STRING
rsRandPic.Source = "SELECT * FROM PICTURES WHERE PIC_APPROVED = 1 AND PIC_ID <> " & iPic & " ORDER BY rand() LIMIT 1"
rsRandPic.CursorType = 3
rsRandPic.CursorLocation = 2
rsRandPic.LockType = 1
rsRandPic.Open()

'Udskriv her
Avatar billede l_otto Nybegynder
16. december 2003 - 16:02 #13
der kommer ikke fejl nu men den tager det samme billede hver gang.. og ikke et forskelligt
Avatar billede l_otto Nybegynder
16. december 2003 - 16:12 #14
nu virker det på et andet script jeg havde.... pisse godt.... du er jo chefen
Avatar billede eagleeye Praktikant
16. december 2003 - 16:13 #15
Virker det nu?
Det skulle virke ens begge steder..
Avatar billede l_otto Nybegynder
16. december 2003 - 16:15 #16
ok, men det virker nu hihi
Avatar billede eagleeye Praktikant
16. december 2003 - 17:14 #17
Ok så et svar fra mig ;)
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