| 
					
							
        
    
        
						
			 | 
			
			
					    
					
        
         
          
         
	
            | ADO-fejl Fra : Andreas Slot-Henriks~ | 
  Dato :  19-08-01 20:31 |  
  |   
            Hej...
 
 Jeg har lavet følgende kode:
 
 ------ START ------
 strSQL = "Select * From tblTest"
 
 Set ConnProdukt = Server.CreateObject("ADODB.Connection")
 ConnProdukt.Open "DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" &
 Server.MapPath ("../database/produkter.mdb")
 
 Set rsNyheder = Server.CreateObject("ADODB.Recordset")
 rsNyheder.Open strSql, ConnProdukt, adOpenDynamic
 ------ STOP ------
 
 
 Med ovenstående har jeg to problemer:
 
 1) Hvis jeg senere i koden skrive "response.write rsNyheder.RecordCount" får
 jeg altid resultatet "-1". Hvorfor det? Og det er selv om jeg sagtens
 "udskrive" fx. 50 poster - og min CusorType er jo Dynamic...!
 
 2) Hvis jeg laver en "rsNyheder.Move -1" får jeg følgende fejl: "Rækkesættet
 understøtter ikke baglæns hentning." Jeg har også prøvet med
 "rsNyheder.MovePrevious", men så får jeg bare fejlen: "Denne handling er
 ikke tilladt i denne sammenhæng". Hvad er der galt?
 
 Til orientering ser resten af koden sådan ud:
 
 ------ START ------
 If Not (rsNyheder.BOF Or rsNyheder.EOF) Then
     Response.write "<B>Navigation mellem de " & rsNyheder.RecordCount & "
 nyeste produkter</b><br>"
 
         rsNyheder.Move -1
         If rsNyheder.BOF = False Then
             Response.write "<A href=produkt_enkelt.asp?ProduktID=" &
 rsNyheder("ProdukterID") & "&La=" & strSprog & ">Tilbage (nyere)</a> - "
         End If
         rsNyheder.MoveNext
 
 
         rsNyheder.MoveNext
         If rsNyheder.EOF = False Then
             Response.write "<A href=produkt_enkelt.asp?ProduktID=" &
 rsNyheder("ProdukterID") & "&La=" & strSprog & ">Frem (aelig;ldre)</a> - "
         End If
         rsNyheder.Move -1
  Else
     ' Ved fejl
     Response.Write "<B>No records...</B>"
  End If
 ------ STOP ------
 
 
 
 mvh.
 Andreas
 
 
  
            
             |   |   
            
        
 
            
         
           Lars Hoffmann (19-08-2001) 
         
	
            | Kommentar Fra : Lars Hoffmann | 
  Dato :  19-08-01 21:14 |  
  |   
            Andreas Slot-Henriksen wrote:
 > 
 > rsNyheder.Open strSql, ConnProdukt, adOpenDynamic
 
 
 prøv at ændre ovenstående til:
 
 set rsNyheder = ConnProdukt.execute(strSql)
 
 > Med ovenstående har jeg to problemer:
 > 
 > 1) Hvis jeg senere i koden skrive "response.write rsNyheder.RecordCount" får
 > jeg altid resultatet "-1". Hvorfor det? Og det er selv om jeg sagtens
 > "udskrive" fx. 50 poster - og min CusorType er jo Dynamic...!
 
 nogle gange fejler RecordCount hvis man ikke har bevæget sig igennem
 recordsettet først. Det er muligt at det skyldes at du har nogle ældre
 ADO drivers installeret. Prøv at se om du ikke kn finde en opdatering
 til dine ADO Drivers og hvis det ikke virker, så prøv følgende:
 
 rsNyheder.movelast
 rsNyheder.movefirst
 response.write(rsNyheder.RecordCount)
 
  
 > 2) Hvis jeg laver en "rsNyheder.Move -1" får jeg følgende fejl: "Rækkesættet
 > understøtter ikke baglæns hentning." Jeg har også prøvet med
 > "rsNyheder.MovePrevious", men så får jeg bare fejlen: "Denne handling er
 > ikke tilladt i denne sammenhæng". Hvad er der galt?
 
 Det er specielt dette der får mig til at tænke på at du måske skal have
 opdateret dine drivers.
 Med venlig hilsen
 Lars Hoffmann
  
            
             |   |   
            
        
 
            
         
           Andreas Slot-Henriks~ (19-08-2001) 
         
	
            | Kommentar Fra : Andreas Slot-Henriks~ | 
  Dato :  19-08-01 21:37 |  
  |  
 
            Hej Lars...
 ---CUT---
 > Det er muligt at det skyldes at du har nogle ældre
 > ADO drivers installeret. Prøv at se om du ikke kn finde en opdatering
 > til dine ADO Drivers og hvis det ikke virker, så prøv følgende:
 ---------
 Tja, gid det var så vel... jeg har installeret mdac 2.6!!! Findes der
 en nyere driver?
 Jeg forsøgte at gøre, som du skrev, men det gav desværre ingen
 ændringer i fejlbeskederne...   
mvh.
 Andreas Slot-Henriksen
            
              |   |   
            
        
 
            
         
           Rune Andersen (20-08-2001) 
         
	
            | Kommentar Fra : Rune Andersen | 
  Dato :  20-08-01 12:13 |  
  |   
            Hej
 
 "Lars Hoffmann" <lars@hoffmann.ac> wrote in message
 news:3B801E15.B2BE058C@hoffmann.ac...
 > Andreas Slot-Henriksen wrote:
 > >
 > nogle gange fejler RecordCount hvis man ikke har bevæget sig igennem
 > recordsettet først. Det er muligt at det skyldes at du har nogle ældre
 > ADO drivers installeret. Prøv at se om du ikke kn finde en opdatering
 > til dine ADO Drivers og hvis det ikke virker, så prøv følgende:
 >
 > rsNyheder.movelast
 > rsNyheder.movefirst
 > response.write(rsNyheder.RecordCount)
 >
 
 Følgende er klippet fra ADO help :
 ---
 The cursor type of the Recordset object affects whether the number of
 records can be determined. The RecordCount property will return -1 for a
 forward-only cursor; the actual count for a static or keyset cursor; and
 either -1 or the actual count for a dynamic cursor, depending on the data
 source.
 ---
 
 Jeg ville forsøge mig med en keyset eller static cursor, hvis det ikke er
 vigtigt om man kan se løbende tilføjelser - da det er en web side så er det
 vel ok.
 
 Der udover forstår jeg ikke hvorfor det er nødvendigt at bruge
 recordset.move -1.
 Hvis det er en "bladre" funktion, så kan man alligevel ikke gøre sådan,
 medmindre man har recordsættet i en sessionvariabel (og det har man vel
 ikke)  Jeg ville putte et startnr i en sessionvar og bruge recordset.move
 til at springe frem og vise næste side.
 
 mvh
 Rune
 
 
 
 
  
            
             |   |   
            
        
 
            
         
           Andreas Slot-Henriks~ (20-08-2001) 
         
	
            | Kommentar Fra : Andreas Slot-Henriks~ | 
  Dato :  20-08-01 15:29 |  
  |   
            Hej NG...
 
 Svend Nielsen kom lige med svaret til mig... jeg havde glemt at
 lave en include af filen adovbs.inc...
 
 
 mvh.
 Andreas
 
 
  
            
             |   |   
            
        
 
            
         
           Rune Andersen (23-08-2001) 
         
	
            | Kommentar Fra : Rune Andersen | 
  Dato :  23-08-01 10:47 |  
  |   
            Hejsa
 
 Jeg er gået bort fra at bruge adovbs.inc. Det er smartere at inkludere
 tybelib i metatag, således:
 
 <!-- METADATA TYPE="TypeLib" NAME="Microsoft ActiveX Data Objects 2.5
 Library"
 UUID="{00000205-0000-0010-8000-00AA006D2EA4}" -->
 
 så får man ikke fyldt navne-rummet, idet de udeklarerede variable først
 bliver kigget efter i tybelib når de er nødvendige.
 
 Derudover behøver asp fortolkeren ikke at køre igennem hele adovbs hvergang
 ( = hurtigere), og den er ligeglad med om man kommer til at tilføje linien
 flere gange, fx ved filer der bliver inkluderet.
 Samme metode kan bruges til at få konstanterne til fx adox og cdo2000  :
 
 <!-- METADATA TYPE="TypeLib" NAME="Microsoft ADO Ext. 2.5 for DDL and
 Security"
 UUID="{00000600-0000-0010-8000-00AA006D2EA4}" -->
 
 <!-- METADATA TYPE="TypeLib" NAME="CDO for Windows 2000 Type Library"
 UUID="{CD000000-8B95-11D1-82DB-00C04FB1625D}" -->
 
 Eller en dll man ikke gider registerer.
 
 Mvh
 
 Rune
 
 
 "Andreas Slot-Henriksen" <andreas.s-h@mail.dk> wrote in message
 news:3b811e25$0$76918$edfadb0f@dspool01.news.tele.dk...
 > Hej NG...
 >
 > Svend Nielsen kom lige med svaret til mig... jeg havde glemt at
 > lave en include af filen adovbs.inc...
 >
 >
 > mvh.
 > Andreas
 >
 >
 
 
  
            
             |   |   
            
        
 
    
 
					
					 
			 | 
			
				
        
			 |